rtyler / Spawning

Spawning is a wsgi server which supports multiple processes, multiple threads, green threads, non-blocking HTTP io, and automatic graceful upgrading of code
http://pypi.python.org/pypi/Spawning
MIT License
120 stars 18 forks source link

Under certain conditions, controller reloading is not as aggressive as it should be #21

Closed rdw closed 13 years ago

rdw commented 13 years ago

In short, if the child processes are running an application that takes a long time chronologically to handle requests, the controller will only start one new child process when sent SIGHUP, until the old children start to die off.

Repro:

This issue is caused by signal aliasing. The children all send it simultaneously to the controller, but the handler only gets called once.

rdw commented 13 years ago

Controller starts a new batch of children immediately when reloading. This closed by 847e76a4715ea85353425ec4e8b336c11af05dca

Tweaked css a little bit in the status page after looking at a lot of inactive children.