python - supervisor-cómo ejecutar múltiples comandos
celery (1)
Agregue una segunda sección con un nombre de tarea diferente . Si dos tareas tienen el mismo nombre de tarea, la última sobrescribe la anterior.
[program:celeryb]
command = /var/worker/venv/bin/celery worker -A b_report_tasks -Q b_report_process --loglevel=INFO
directory=/var/worker
user=nobody
numprocs=1
autostart=true
autorestart=true
startsecs=10
stopwaitsecs = 60
stdout_logfile=/var/log/celery/worker.log
stderr_logfile=/var/log/celery/worker.log
killasgroup=true
priority=998
También puede agruparlos para que ambas tareas se reinicien como un grupo:
[group:celery-workers]
programs=celery,celeryb
priority=999
Estoy administrando a un trabajador de apio que procesa la cola a través de Supervisor.
Aquí está mi /etc/supervisor/celery.conf:
[program:celery]
command = /var/worker/venv/bin/celery worker -A a_report_tasks -Q a_report_process --loglevel=INFO
directory=/var/worker
user=nobody
numprocs=1
autostart=true
autorestart=true
startsecs=10
stopwaitsecs = 60
stdout_logfile=/var/log/celery/worker.log
stderr_logfile=/var/log/celery/worker.log
killasgroup=true
priority=998
¿Cómo agrego este segundo comando para ejecutar?
/var/worker/venv/bin/celery worker -A b_report_tasks -Q b_report_process --loglevel=INFO
Intenté separar los dos comandos en la misma línea con &&
(resultó en un error de sintaxis), agregando una sección [program:celery]
completamente separada a este mismo archivo (que resultó en que solo se ejecutara el primero), y creando una completamente diferente Archivo celery1.conf
en el mismo directorio (solo se ejecutó el original / primero).