Also, Sequel is 5.20.0 On Friday, October 25, 2019 at 1:30:40 PM UTC+8, Eugene Lai wrote: > > I have an API server running sinatra/thin/sequel connected to a managed > Postgres database provided by Azure Database for PostgreSQL. > > For background to my problem I refer to this: > https://docs.microsoft.com/en-us/azure/postgresql/concepts-connectivity > > I need to deal with this case of what Azure terms a transient error where > "...a connection to the database server being dropped. Also new connections > to a server can't be opened." for up to 60 seconds. Currently this means > our application will raise Sequel::DatabaseDisconnectError for every single > request for the duration of this outage. > > Microsoft recommends I implement a retry mechanism as such: > > Wait for 5 seconds before your first retry. >> For each following retry, the increase the wait exponentially, up to 60 >> seconds. >> Set a max number of retries at which point your application considers the >> operation failed. > > > I am thinking I should try to implement this at the point where a > connection is being checked out from the connection pool. At present I am > using connection_validator extension with timeout set to 15 minutes which > has solved the idle disconnect issue. Should I then set it at -1 instead > and then try to patch > Sequel::ConnectionValidator#acquire with this retry pattern? > > Is this the right way to go about it? > > Thanks, > Eugene. >
-- 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 view this discussion on the web visit https://groups.google.com/d/msgid/sequel-talk/58736321-f971-4333-bed2-979d2cefc976%40googlegroups.com.
