わーくあうと!

日々の作業でためになったことをアウトプットすることで自分の成長につながればなと。

sqlalchemy.exc.TimeoutError

開発中のdjangoアプリケーションでこんなエラーが。

build/bdist.linux-x86_64/egg/sqlalchemy/pool.py:945
 - connect
build/bdist.linux-x86_64/egg/sqlalchemy/pool.py:210
 - connect
build/bdist.linux-x86_64/egg/sqlalchemy/pool.py:371
 - __init__
build/bdist.linux-x86_64/egg/sqlalchemy/pool.py:685
 - _do_get

error:class 'sqlalchemy.exc.TimeoutError':QueuePool limit of size 30 overflow 0 reached, connection timed out, timeout 3

コネクション張りたいけど張れなくてタイムアウトしてるらしい。

これはhttpd.confで設定しているServerLimitの値のほうが大きいと、コネクション張れないプロセスが出てきてしまうため出るらしい。
30人しか座れないラーメン屋に60人きたようなもん。

なのでsqlAlchemyで設定しているコネクションプールの本数をServerLimitの数と同じにしておいた。