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

Reply via email to