sql alchemy连接超时

我正在使用MySQL sqlalchemy ,并执行SQLexpression式的查询。 当执行一些查询,然后超时。 我find了一个答案,但我不清楚。 请,任何人都可以帮助我?

TimeoutError:QueuePool限制大小5溢出10到达,连接超时,超时30

无论何时在代码中创build一个新的会话,都要确保closures它。 只要调用session.close()

当我得到这个错误,我以为我正在closures所有的会议,但我仔细看,有一种新的方法,我不是。 在该方法中closures会话修复了这个错误。

在multithreading模式下,如果您的并发请求数量远大于数据库连接池大小,则会抛出大小为5的队列池限制溢出10达到error 。 试试这个:

 engine = create_engine('mysql://', convert_unicode=True, pool_size=20, max_overflow=100) to add the pool size 

添加:上面的方法不是一个正确的方法。 实际的原因是db连接池用完了,没有其他可用的连接。 最可能的情况是你想释放连接。 例如:

 @app.teardown_appcontext def shutdown_session(exception=None): db_session.remove()