[PYTHON] Selbst wenn Sie den Job in der Warteschlange abbrechen oder löschen, wird der auf dem Worker ausgeführte Prozess nicht gestoppt (2).

Hintergrund

Ich habe einen besseren Weg gefunden als im vorherigen Artikel

Beim Löschen eines Jobs auf RedisClient setzen

from django_rq import get_queue
import os
import signal

q = get_queue()

job_id = ***
job = q.fetch_job(job_id)

job.connection.set(job.key + b':canceled', True, ex=30)

Auf der Verarbeitungsseite bestätigt

from rq import get_current_job

def Verarbeitung():
  job = get_current_job()
  for item in items:
    if job.connection.get(job.key + b':canceled'):
      break

Referenz

Recommended Posts

Selbst wenn Sie den Job in der Warteschlange abbrechen oder löschen, wird der auf dem Worker ausgeführte Prozess nicht gestoppt (2).
Selbst wenn Sie den Job in der Warteschlange abbrechen oder löschen, wird der auf dem Worker ausgeführte Prozess nicht gestoppt (2).
Python> enthält die Buchstaben mm> nicht, wenn "mm" nicht im Text enthalten ist: / print "mm nicht enthalten"
[Lernnotiz] Erstellen, wenn das Verzeichnis nicht vorhanden ist / Dateien im Verzeichnis abrufen
Python> enthält die Buchstaben mm> nicht, wenn "mm" nicht im Text enthalten ist: / print "mm nicht enthalten"
[Lernnotiz] Erstellen, wenn das Verzeichnis nicht vorhanden ist / Dateien im Verzeichnis abrufen