Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Eine bereits ausgeführte Aufgabe in Python RQ abbrechen?

Wenn Sie die Jobinstanz zur Hand haben, einfach

job.cancel()

Oder wenn Sie den Hash ermitteln können:

from rq import cancel_job
cancel_job('2eafc1e6-48c2-464b-a0ff-88fd199d039c')

http://python-rq.org/contrib/

Aber das entfernt es nur aus der Warteschlange; Ich weiß nicht, ob es es töten wird, wenn es bereits ausgeführt wird.

Sie könnten es die Mauerzeit protokollieren lassen, sich dann regelmäßig selbst überprüfen und nach einer gewissen Zeit eine Ausnahme/Selbstzerstörung auslösen.

Für manuellen Ad-hoc-Stil Tod:Wenn Sie redis-cli haben installiert haben, können Sie etwas Drastisches tun, wie z. B. Warteschlangen und Jobs leeren:

$ redis-cli
127.0.0.1:6379> flushall
OK
127.0.0.1:6379> exit

Ich wühle immer noch in der Dokumentation herum, um herauszufinden, wie man einen Präzisionskill macht.

Ich bin mir nicht sicher, ob das jemandem hilft, da die Frage bereits 18 Monate alt ist.