Même si vous annulez ou supprimez le travail dans la file d'attente, le processus en cours d'exécution sur le worker ne s'arrête pas (2)

Contexte

J'ai trouvé un meilleur moyen que l'article précédent

Définir sur RedisClient lors de la suppression d'un travail

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)

Confirmé côté traitement

from rq import get_current_job

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

référence

Recommended Posts

Même si vous annulez ou supprimez le travail dans la file d'attente, le processus en cours d'exécution sur le worker ne s'arrête pas (2)
Même si vous annulez ou supprimez le travail dans la file d'attente, le processus en cours d'exécution sur le worker ne s'arrête pas (2)
python> n'inclut pas les lettres mm> si "mm" pas dans le texte: / print "sans mm"
[Mémo d'apprentissage] Créer si le répertoire n'existe pas / Récupérer les fichiers dans le répertoire
python> n'inclut pas les lettres mm> si "mm" pas dans le texte: / print "sans mm"
[Mémo d'apprentissage] Créer si le répertoire n'existe pas / Récupérer les fichiers dans le répertoire