Hello supervisor users.... In my environment, it is taking a long time for supervisor to shutdown a large number of child processes in response to clicking the STOP ALL button in the GUI. Each of our child processes is typically in the middle of batch processing, so the behavior that we have sought and achieved is for each process to finish what it is doing when the terminate signal is received, then exit cleanly. It may be 2 to 5 minutes for this processing to stop, which is acceptable to us. (We chose SIGUSR2 because the child processes are Java JVMs, and Java traps SIGINT/SIGTERM for Its own purposes).
Since supervisor is designed to catch unexpected terminations of any of its child processes at any time, I would have expected supervisord to send a SIGUSR2 to all processes at once and wait for each SIGCHLD signal to arrive from each of the children. However, what I think we are seeing is that supervisord enters a loop where it sends the configured signal to the first process, then waits for the first processed to terminate, and ONLY THEN move on to terminate the second process, wait for it to exit, and so on. This is taking a very long time, because of the long time I must allow for each process to have to finish its current processing. I found an illuminating comment in rpcinterface.py (at then end of method make_allfunc) that confirms this symptom, but doesn't offer a lot of hope for an easy fix. What about an alternate approach where the list of programs has the 'autorestart' property changed to false, at least in memory, then the termination signal is send to all processes all at once, and then as the SIGCHLD signals arrive, then the code that normally handles SIGCHLD signals would not do an autorestart... Wouldn't this achieve the goal of shutting down all the processes more quickly, and still allow them to terminate in any order? tlj _______________________________________________ Supervisor-users mailing list Supervisor-users@lists.supervisord.org http://lists.supervisord.org/mailman/listinfo/supervisor-users