Je veux convertir mon système de files d'attente de tâches de mon cru en une file d'attente de tâches basée sur le céleri, mais une fonctionnalité que j'ai actuellement me cause de la détresse.Comment puis-je capturer tous les enregistrements du journal python générés lors de l'exécution d'une série de tâches Celery?
À l'heure actuelle, ma file d'attente de tâches fonctionne très grossièrement; Je lance le travail (qui génère des données et le télécharge vers un autre serveur), recueille la journalisation à l'aide d'une variante de la bibliothèque de capture de journaux de Nose, puis stocke la journalisation de la tâche dans la base de données d'application.
Je voudrais le décomposer en trois tâches:
- recueillir des données
- données de téléchargement
- résultats du rapport (y compris toute exploitation des deux tâches précédentes)
Les vrai kicker ici est la collection de journalisation. À l'heure actuelle, en utilisant la capture de journal, j'ai une série d'enregistrements de journal pour chaque appel de journal fait pendant le processus de génération de données et de téléchargement. Ceux-ci sont requis à des fins de diagnostic. Étant donné qu'il n'est même pas garanti que les tâches s'exécutent dans le même processus, la façon dont j'accomplirai cela dans une file d'attente de tâches Celery n'est pas claire.
Ma solution idéale à ce problème sera une méthode triviale et idéalement peu invasive de capturer toute exploitation forestière au cours des tâches précédentes (1, 2) et de la rendre disponible à la tâche rapporteur (3)
Suis-je mieux de rester assez grossier avec ma définition de tâche, et de mettre tout ce travail en une seule tâche? ou existe-t-il un moyen de passer la journalisation capturée existante afin de la récupérer à la fin?