Matt Sanders <[email protected]> wrote: > On Thu, Jul 19, 2012 at 6:13 PM, Eric Wong <[email protected]> wrote: > > Matt Sanders <[email protected]> wrote: > >> 2. Is there an established way for adding an after_fork hook after > >> Unicorn has already started up? > > > > Nothing that I know of. > > > >> I'm aware of the ability to do this via the config file but I don't > >> want my users to have to add something to their unicorn config file. > >> Is there an equivalent to passenger's > >> PhusionPassenger.on_event(:starting_worker_process) method? > > > > Lately, I've been favoring the following pattern instead:
(top-posting corrected) > Thanks! I definitely agree in general with that pattern. In this case > I'd ideally like some activity on the forked child before the next > request cycle - that is, if the forked child doesn't serve any > requests for a little bit, I'd still like my behavior to be > initialized. Yes, that sucks. I'll often just throw some requests at the child just to start something up if I need it, or initiate a separate daemon. > Do you know of a way to get this behavior without a direct after fork hook? No, unfortunately not. I have considered petitioning for something along the lines of pthread_atfork() in Ruby, but pthread_atfork() itself also has unfortunate drawbacks (it makes fork() async-signal un-safe, and thus _Fork() will be introduced in the next version of POSIX). _______________________________________________ Unicorn mailing list - [email protected] http://rubyforge.org/mailman/listinfo/mongrel-unicorn Do not quote signatures (like this one) or top post when replying
