workers created when request comes in?
normalperson at yhbt.net
Wed Dec 16 01:05:39 EST 2009
Joseph McDonald <superjoe at gmail.com> wrote:
> On Tue, Dec 15, 2009 at 6:37 PM, Eric Wong <normalperson at yhbt.net> wrote:
> > Yes, just send SIGQUIT to yourself anywhere inside the application
> > dispatch and it'll defer the exit until your application is done
> > processing.
> > You should be able to just make it middleware like this:
> > # name inspired by the "shotgun" gem
> > class Unicorn::Shotgun < Struct.new(:app)
> > def call(env)
> > Process.kill(:QUIT, 0)
^-- Oops, that should be a $$, not 0
> > app.call(env)
> > end
> > end
> Thanks Eric,
> I added that middleware, but now unicorn exits after servicing one
> request. I'd like unicorn to keep running and fork off a new child if
> a new request comes in. Is that possible?
Yeah, just change the 0 to a $$ there, brain fart :x
With that middleware, it should prefork a worker, but then kill it
after every request (and a new one will be preforked).
More information about the mongrel-unicorn