On Tue, Jan 24, 2017 at 8:31 AM, Jonathan Vanasco <
jvan...@gmail.com> wrote:
>
> The zope.sqlalchemy is the gold standard, I would just focus on that. It
> handles the two-phase and savepoints perfectly. I ported the savepoints
> from it to repoze.sendmail years ago, and there are still edge-cases popping
> up on it.
I've been using pyramid_mailer for six months without problem.
How are people synchronizing something transactional with something
non-transactional, especially a database record with a filesystem
file. I have a record representing a file attachment, and the file
itself. The files in aggregate are 30 GB so they're cumbersome to put
into the database and include in a database dump/restore/rsync. Kotti
is using 'filedepot' but I'm hesitant to trust a foreign
directory/filename structure when I've already got one working. So I
create or delete the file before the commit, but that runs the small
risk of orphan files or missing files. Conversely the file create or
delete can fail if the filesystem permissions are messed up, and it
would be desirable for the transaction to abort then. The first case
argues for doing it after the db transaction has successfully
committed, the second case argues for doing it before the commit, but
those are contradictory. It makes me wish the filesystem were
transactional.