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.

Reply via email to