2012-03-28 73 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