Hi, According to the documentation here <https://docs.pylonsproject.org/projects/pyramid_tm/en/latest/>, “Pyramid <https://docs.pylonsproject.org/projects/pyramid_tm/en/latest/glossary.html#term-pyramid> requests [to] join the active transaction <https://docs.pylonsproject.org/projects/pyramid_tm/en/latest/glossary.html#term-transaction> as provided by the Python transaction <https://pypi.org/project/transaction/> package”. Looking at the transactions code, the default transaction manager used is a ThreadTransactionManager <https://github.com/zopefoundation/transaction/blob/501a2934a1031f4def92701a44ebca8a317dd8a6/transaction/_manager.py#L212>, i.e. one transaction per Python execution thread.
Now I did follow the Pyramid-SQLAlchemy-Cookiecutter <https://github.com/Pylons/pyramid-cookiecutter-alchemy/> recipe where DB sessions join the request’s transaction. Considering that a single incoming request is handled in Pyramid by a single thread (correct?) is it safe to say that the following is true? import transaction @view_config(…) def some_view(request): # Request's transaction manager is the thread's transaction manager. request.tm == transaction.manager # Request's and thread's and tm's transaction is the same object. request.tm.get() == transaction.get() # == transaction.manager.get() Thanks! Jens -- You received this message because you are subscribed to the Google Groups "pylons-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/pylons-discuss/79da9d5a-91e9-483e-b96f-b5e54cc3f1a5%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
