Hi, I just started using supervisord for starting PHP gearman workers.
This is my config: [program:worker_name] command=php worker.php --name WorkerName --function worker_name process_name=%(program_name)s_%(process_num)02d numprocs=30 directory=/usr/local/bin/gearman-workers autorestart=true stopsignal=TERM startsecs=0 redirect_stderr=true stdout_logfile=/var/log/gearman-workers/%(program_name)s/%(program_name)s.log stdout_logfile_maxbytes=1MB stdout_logfile_backups=10 There are 3 major problems: 1. It works, but starting takes a lot of time (starts one by one as I can see in 'ps' output) unless I specify startsecs=0 (but then the processes are not checked if they live >startsecs seconds). I thought that it would run all the processes in parallel somehow, and see if they live more than 1 seconds (each one). 2. The weirder and more annoying thing is that when stopping (supervisorctl stop worker_name:*), supervisor stops each process one by one, and it takes 1 second for each process. For 30 processes, it's 30 seconds until all this 'program' section is stopped. 3. When stopping, supervisor is not sending the TERM signal! I think it just kills the process, even though when I do 'kill PID_OF_PROCESS' in a shell, I can see in the logs that the process has caught that signal and exited. That's the worst part of my problem.... Any help would be much appreciated! Thanks in advance, Bar.
_______________________________________________ Supervisor-users mailing list [email protected] http://lists.supervisord.org/mailman/listinfo/supervisor-users
