我是SQLAlchemy的新手,但我正在尝试使用它来创建和填充个人项目的数据库。我已将pool_timeout
设置为43200(12小时),但我仍然会收到套接字超时。
engine = sqlalchemy.create_engine(
'postgresql+pg8000://gdwatson:pass@localhost/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,这是值得的。