Je voudrais être en mesure d'interrompre une tâche qui s'exécute à partir d'une file d'attente Celery (en utilisant rabbitMQ). J'appelle la tâche en utilisantAnnulation d'une tâche en cours dans Celery dans django
task_id = AsyncBoot.apply_async(args=[name], name=name, connect_timeout=3)
où AsyncBoot est une tâche définie.
Je peux obtenir l'ID de la tâche (en supposant que c'est la chaîne longue que renvoie apply_async
) et le stocker dans une base de données, mais je ne sais pas comment appeler une méthode d'abandon. Je vois comment faire des méthodes avortables avec la classe des tâches Abortable mais si je n'ai que la chaîne task-id, comment puis-je appeler .abort() sur la tâche? Merci.
Il est à noter que les docs de céleri disent: "cette classe ne fonctionnera qu'avec les backends de base de données." http://docs.celeryproject.org/en/latest/reference/celery.contrib.abortable.html?highlight=abort#celery.contrib.abortable – dgorissen