Используя SqlAlchemy, я стремлюсь добиться следующего:
sess = sessionmaker(twophase=True)
sess.add(...)
my_xid = generate_xid()
send_xid_to_transaction_manager(my_xid)
sess.prepare(my_xid)
Проблема в том, что sess.prepare()
не принимает пользовательские transaction_id
/ xid
. Есть ли решение?
Если невозможно установить xid
, существует ли более чистый способ запроса автоматически сгенерированного xid
, чем это решение 2012 года: https://stackoverflow.com/a/9291603/139993
В общем, я предпочитаю генерировать и отправлять xid
перед вызовом prepare (), чтобы менеджер транзакций гарантированно имел его.