Spawning is a wsgi server which supports multiple processes, multiple threads, green threads, non-blocking HTTP io, and automatic graceful upgrading of code
Fire up Spawning with 50 children: spawning -s 50 wsgi.application
Wait for them all to launch, with stopwatch in hand.
Kill its children with pkill -f spawning_child
Observe that it enters a loop of logs like these:
(28888) Child died from signal 15 with code 0
Should start 1 new children
Controller.spawn_children(number=1)
Observe how long it takes to do these
It's not a huge performance problem; it only takes 25% longer than the "Controller.spawn_children(number=50)" that happens on launch. Feel free to close this if you feel it's not worth spending time to fix.
To repro:
Observe that it enters a loop of logs like these:
(28888) Child died from signal 15 with code 0 Should start 1 new children Controller.spawn_children(number=1)
It's not a huge performance problem; it only takes 25% longer than the "Controller.spawn_children(number=50)" that happens on launch. Feel free to close this if you feel it's not worth spending time to fix.