Okay, I see. I will try the cron job approach. Thank you for your help and quick response, Jeremy.
Lon On Tuesday, November 18, 2014 12:23:49 PM UTC-8, Lon Sun wrote: > > Hello, > > I have a Rails app that is connecting to a MySQL database through a > stateful firewall. The app itself has pretty low volume - about 50 > transactions a day at the moment. The problem is that we're seeing the > following exception intermittently throughout the day: > > > Exception Class: Sequel::DatabaseDisconnectError > > Exception Message: Mysql::Error: Lost connection to MySQL server during > query > > Subsequent transaction attempts on the server work fine. > > We are initializing Sequel with the following MySQL-specific configuration > parameters: :connect_timeout => 7, :read_timeout => 45. Interestingly, > the above exception is generated after the read timeout passes (45 seconds) > and not on the connect timeout. I assume this is because the database pool > has the connection established already. > > It appears that what is happening is that the database pool connections > are being invalidated by the firewall after a certain period of time and > when that happens packets belonging to that specific db connection are > being dropped by the firewall. It seems me that the best way to handle > this is to have the connections in the pool "refresh" or reconnect after a > certain period of inactivity that is less than the firewall timeout. I > looked at the Sequel documentation and could not find a configuration > setting that does this. Is such a setting available? I would rather use a > mechanism built into Sequel to handle this as opposed to writing reconnect > logic in our app. > > Also, I am aware of the connection_validator plugin, but it seems that > using this plugin would still result in at least a 45 second delay before > it realizes that the given connection is invalid and moves on to the next > available one. > > Any help would be appreciated. > > Thanks, > > Lon > -- 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/d/optout.
