Redis
 sql >> Base de données >  >> NoSQL >> Redis

Comment mettre en pause ou reprendre la tâche de céleri ?

Mauvaise approche. Vous ne devriez jamais mettre en pause ou révoquer le processus manuellement pour obtenir l'état actuel. Les états de pause et de révocation sont plutôt réservés aux erreurs du courtier.

Essayez de reconcevoir votre code.

L'objectif principal à atteindre est dans cette phrase

customer can pause or resume process which are pending not the process one

Concevez votre code comme https://en.wikipedia.org/wiki/Workflow_pattern

Divisez votre code en étapes ou en états. Un processus de céleri peut parcourir tout le flux de travail, mais ce n'est pas nécessaire, par exemple, si vous effectuez de nombreuses demandes pour de nombreux fournisseurs externes (une demande =un état). Si le client est en pause, arrêtez votre processus de céleri. Ajoutez un événement qui vérifiera quand l'état deviendra actif et exécutera à nouveau un nouveau processus de céleri pour cette tâche.