sinatra - Heroku 500 error after idle time -- sequel::DatabaseDisconnectError - Mysql::Error: MySQL server has gone away -
i have simple sinatra app hosted on heroku , using sequel orm connect mysql database through cleardb addon.
the app works fine, except when has sat idle more minute. in case, first request create gives 500 internal server error, heroku logs reveals be:
sequel::databasedisconnecterror - mysql::error: mysql server has gone away if refresh page after error, works fine, , error not homecoming until app sits idle min or so.
the app running 2 dynos, problem not beingness caused heroku dyno idling might see on free account. contacted cleardb support, , gave me advice:
if using connection pooling, should set idle timeout @ below 60 seconds and/or set keep-alive mentioned below. if not using connection pooling, must create sure app closes connections after queries , doesn't rely on network timeout shut them down.
i understand create cron job nail server every 30s or so, seems inelegant solution problem. other suggestion making sure app closes connections don't understand. i'm using sequel create queries -- assumed sequel manages connections me under hood. need configure ensure closes connections? how that?
heroku sinatra sequel cleardb
No comments:
Post a Comment