python celery supervisor

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).