5
我是SQLAlchemy的新手,但我試圖用它來創建和填充個人項目的數據庫。我已將pool_timeout
設置爲43200(十二小時),但我仍然遇到套接字超時。在SQLAlchemy中避免套接字超時
engine = sqlalchemy.create_engine(
'postgresql+pg8000://gdwatson:[email protected]/dbname',
pool_timeout=43200)
db.tables.meta.drop_all(bind=engine)
db.tables.meta.create_all(bind=engine)
conn = engine.connect()
dataset = build_dataset()
conn.execute(db.tables.mytable.insert(),
dataset)
conn.close()
我結束了一個很好的協議的處理時間後得到socket.timeout: timed out
,但可能不到一個小時,肯定下的兩個。它實際上是三個層次 - 處理超時異常另一個發生,然後當處理另一個時發生。 (也許這是圖書館重試?)conn.execute
發生異常,我不知道如何防止它。
搜索尚未顯示任何信息。我正在使用Python 3.1和SQLAlchemy 0.6.1,因爲它值得。
我最終將數據集切片成1000個條目塊並一次插入一個塊。這解決了問題,即使它有點醜陋。 – 2010-08-29 05:58:39