On Tuesday, July 16, 2013 10:34:43 AM UTC-7, Jason Coffin wrote: > > Hello, > > I have a Rails 3 app using Sequel v3.48.0. Sequel is connecting to two > databases. My initializer looks something like this: > > unless defined? DB > DB = Sequel.connect(ENV["DATABASE_URL"]) > end > > unless defined? GP > GP = Sequel.connect(ENV["GP_DATABASE_URL"]) > end > > The DB database is connecting to a PostgreSQL database. The GP database is > connecting to a MicrosoftSQL database via TinyTds. > > Things work well, but after an hour or so of inactivity I get this error > when I try to visit a page: > > Sequel::DatabaseDisconnectError: TinyTds::Error: DBPROCESS is dead or not > enabled > > Once I refresh the page a couple of times this error goes away. I'm using > Unicorn and I have this in my before_hook: > > before_fork do |server, worker| > DB.disconnect if defined? DB > GP.disconnect if defined? GP > sleep 1 > end > > It might be worth noting that the MicrosoftSQL database is on a different > network then the Rails app, so connection can be slow. > > Any ideas what could be causing this? It is driving me nuts. Thanks! >
As François mentioned, your Microsoft SQL Server is probably disconnecting the connections after they idle for an hour. Either fix your SQL Server so it doesn't disconnect idle connections, set up a cron job so that the connections are used before the idle timeout, or use the connection_validator extension to validate connections before use. Thanks, Jeremy -- You received this message because you are subscribed to the Google Groups "sequel-talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sequel-talk. For more options, visit https://groups.google.com/groups/opt_out.
