On Sunday, December 2, 2012 1:46:48 PM UTC-8, Daniel Tsai wrote: > I really appreciate your quick reply and I have been a big fan of Sequel. > I just want to make sure I understand correctly that I only need to call > DB.disconnect in before_fork block and do not do anything in after_fork > block. Will DB get the connection automatically in this case? > > before_fork do |server, worker| > # Disconnect all database connection from Sequel > DB.disconnect > sleep 1 > end > > after_fork do |server, worker| > # Do nothing here and DB will connect automatically > end >
Correct. The only part of Sequel that cannot be shared in a multiprocess application is the underlying database socket connections. DB.disconnect clears the connections from the Database object's connection pool, and doing that before forking ensures that each forked child will have its own connections that are not shared (connections will be reestablished on an as-needed basis in each child). Jeremy -- You received this message because you are subscribed to the Google Groups "sequel-talk" group. To view this discussion on the web visit https://groups.google.com/d/msg/sequel-talk/-/I_mkuTPkzBAJ. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/sequel-talk?hl=en.
