Python SQLAlchemy并发和查询

Python SQLAlchemy并发和查询,python,sqlalchemy,Python,Sqlalchemy,我有许多独立的机器,每个机器都使用一个单独的 Session=scoped\u Session(sessionmaker(bind=engine)) 如果机器A运行代码 session = Session() session.add(Foo(pk=1)) session.commit() 我必须做什么才能确保当机器B运行以下代码时 session = Session() result = session.query(Foo).get(1) 。。。该result保存机器A创建的Foo的新行(假

我有许多独立的机器,每个机器都使用一个单独的

Session=scoped\u Session(sessionmaker(bind=engine))

如果机器A运行代码

session = Session()
session.add(Foo(pk=1))
session.commit()
我必须做什么才能确保当机器B运行以下代码时

session = Session()
result = session.query(Foo).get(1)

。。。该
result
保存机器A创建的
Foo
的新行(假设机器A的代码首先运行)。我以前遇到过这样的问题:会话“A”提交了一个对象,但另一个会话“B”在我重新实例化会话“B”之前无法在查询中找到它;如果您在处理线程方面做了更多的工作,您可能希望重构代码,为所有线程使用单个
作用域_session
实例,或者直接使用
sessionmaker
的结果,而不包装它,再次为所有线程使用一个,然后调用
session()
用于每个线程。

您运行的隔离级别是什么?