2012-03-28 68 views
-1

我有我在每次2分钟遍地跑一个基本的查询,提取具有标志设置为所有记录1 /真等SQLAlchemy的查询不获取正确的数据

如果我从运行该脚本命令和我有一个记录与设置标志提取它,然后,如果我直接去mysql并在下一次(2分钟)重新设置该标志为真/ 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)) 
+0

你在两者之间做了什么? – Randy 2012-03-28 20:35:04

+0

为什么我必须提交通过mysql管理员添加的任何内容?该选择是否应该选择数据库中的内容? – 2012-03-28 21:05:27

+0

在第一个事务提交之前,您无法在另一个事务中选择某个事物。 – Randy 2012-03-28 21:15:35

回答

0

,问题可能会涉及到范围的会话。使用这种类型的会话,会话将绑定到每个服务器线程。您使用的是什么框架?

+0

我正在使用Flask。 – 2012-03-29 11:50:33

+0

确保在每次请求结束时关闭数据库会话以避免使用连接到其他线程的旧会话。 – 2012-03-29 19:24:08

+0

作出回应,我会给你接受。我连续循环,每2分钟选择一次结果,但不能关闭两次之间的会话。 – 2012-03-30 15:17:11