Wie kann man Sellerie stoppen?

Wie kann man Sellerie stoppen?

Ich führe Celery über Redis aus. Ich starte meinen Worker folgendermaßen:

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

Und ich töte es so:

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

Aber der Worker läuft eigentlich noch. Ich kann den Worker nicht erneut starten:

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

Wenn ich den Prozess beende, ist alles in Ordnung:

kill 29369

Aber das ist zu umständlich: Ich muss die PID kennen. WieWirklichDen Worker mit dem Celery-Befehlszeilentool beenden?

Antwort1

Es gibt keine Möglichkeit, den Worker mit celery multieinem Befehl zu stoppen. Sie können die PID aus der PID-Datei oder aus der PS-Ausgabe abrufen, z. B.

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

oder

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

verwandte Informationen