Я использую Supervisord для постоянного запуска некоторых программ индексирования. Каждый раз, когда запускается индексатор, он захватывает определенный набор документов, индексирует их, а затем завершает работу. Затем этот процесс Supervisord порождает другую такую же программу индексатора, и этот индексатор захватывает новый набор документов для индексации.
Иногда мне нужно остановить процесс Supervisord, который запускает эти программы индексатора. Однако когда я это делаю, это всегда убивает программу индексатора посреди работы.
Что я хотел бы сделать, так это остановить процесс Supervisord, чтобы программа индексатора, которая в данный момент выполняется, выполнялась до завершения, но процесс Supervisord не порождал другой индексатор.
Вот мои настройки supervisord.conf для этого процесса:
; TRIGGERING INDEXERS
;
[program:indexer]
command=php /data/app/index_company.php
process_name=%(program_name)s_%(process_num)d
redirect_stderr=true
stdout_capture_maxbytes=10MB
stdout_logfile_backups=0
numprocs=5
startsecs=0
autostart=false
autorestart=true
[group:indexers]
programs=indexer