我有一个基本查询,每 2 分钟一遍又一遍地运行,以提取标志设置为 1/true 等的所有记录。
如果我从命令运行脚本,并且我有一个设置了标志的记录,那么它会提取它,如果我直接转到 mysql 并在下次(2 分钟)执行查询时将该标志重新设置为 true/1未找到该记录。
我已启用将执行的查询打印到我的控制台,如果我直接在 mysql 中执行查询,我可以看到显示的记录。为什么 sqlalchemy 找不到它?
这是我的配置:
engine = create_engine( config.DATABASE_URI, pool_recycle=1800 )
metadata = MetaData()
db_session = scoped_session( sessionmaker( bind = engine,
autoflush = True,
autocommit = False ) )
我正在使用 Flask。
问题可能与作用域会话有关。对于这种类型的会话,会话会绑定到每个服务器线程。
确保在每个请求结束时关闭数据库会话,以避免使用附加到其他线程的旧会话