J'ai réussi à créer une tâche périodique qui se met à jour chaque minute, dans une application Django. Je tout fonctionne comme prévu, en utilisant celery -A proj worker -B.

Je suis conscient qu'il n'est pas conseillé d'utiliser celery -A proj worker -B pour exécuter la tâche, cependant, cela semble être le seul moyen pour que la tâche soit exécutée périodiquement.

Je me connecte au serveur à l'aide de GitBash, après l'exécution, je souhaite quitter GitBash avec les tâches de céleri toujours exécutées périodiquement.

Lorsque j'appuie sur ctrl+fn+shift, il s'agit d'une sortie de travail à froid, qui arrête complètement l'exécution (ce qui n'est pas souhaitable).

De l'aide?

0
Llewellyn Hattingh 9 nov. 2020 à 12:01

1 réponse

Meilleure réponse

Si vous êtes sur un serveur Linux, vous souhaiterez peut-être utiliser un gestionnaire de processus comme superviseurd ou même systemd pour que votre processus continue de fonctionner.

Sous Windows, on pourrait envisager d'exécuter celery en tant que service ou de l'exécuter dans le cadre de rabbitMQ.

Dans WSL, il semble qu'un fichier bat obtiendra des commandes wsl à exécuter en tant que service.

1
Michael Lindsay 9 nov. 2020 à 11:33