¿Cómo detener al trabajador del apio?

¿Cómo detener al trabajador del apio?

Estoy ejecutando apio a través de redis. Empiezo mi trabajador así:

celery multi start worker1 -A mypackage.tasks.tasks
celery multi v3.1.18 (Cipater)
> Starting nodes...
        > [email protected]: OK

Y lo mato así:

celery multi kill worker1
celery multi v3.1.18 (Cipater)
> [email protected]: DOWN

Pero el trabajador sigue corriendo. No puedo iniciar el trabajador nuevamente:

celery multi start worker1 -A mypackage.tasks.tasks
celery multi v3.1.18 (Cipater)
> Starting nodes...
ERROR: Pidfile (worker1.pid) already exists.
Seems we're already running? (pid: 29369)
        > [email protected]: OK

Si mato el proceso, todo está bien:

kill 29369

Pero eso es demasiado engorroso: necesito saber el PID. Cómoen realidad¿Matar al trabajador con la herramienta de línea de comando de apio?

Respuesta1

No hay forma de detener al trabajador con celery multiuna orden. Puede obtener PID del archivo pid o de la salida ps, por ejemplo

ps auxww | grep '[c]elery worker' | awk '{print $2}' | xargs kill 

o

kill $(cat /path/to/worker.pid)

información relacionada