2017-06-16 3 views
0

Je suis nouveau à Python et Celery-Redis, alors s'il vous plaît corrigez-moi si ma compréhension est incorrecte.Comment celery stocke-t-elle les résultats de la tâche dans redis

J'ai été mise au point une base de code qui a une structure comme -

TaskClass -> Céleri Tâche

HandlerClass1, HandlerClass2 -> Ce sont des classes de python étendent la classe Object

L'application crée TaskClass disent dumyTask exemple et dumyTask crée des sous-tâches de céleri (je crois que ces sous-tâches sont uniques) dites dumySubTask1, dumySubTask2 en prenant des signatures de gestionnaire.

Qu'est-ce que je ne suis pas capable de comprendre?

1) Comment céleri gère les résultats de dumySubTask1, dumySubTask2 et dumyTask? Je veux dire les résultats de dumySubTask1 et dumySubTask2 devraient être agrégés et donnés comme résultat de dumyTask. Comment Celery-Redis gère-t-il cela? 2) une fois la tâche exécutée, comment le céleri stocke-t-il les tâches dans le backend? Je veux dire le résultat de dumySubTask1 et dumySubTask2 sera stocké dans le backend, puis les résultats retournés à dumyTask et puis dumyTask retourner les résultats à QUEUE (S'il vous plaît corriger si je me trompe)?

3) Est-ce que Celery gère les tâches et les sous-tâches en tant que STACK? S'il vous plaît voir l'instantané. Task-SubTask Tree

Toute indication est fortement appréciée. Merci.

Répondre

0

Le céleri peut appeler des 'tâches'. Cette 'tâche' peut avoir des 'sous-tâches' qui peuvent être 'enchaînées' ensemble et invoquées de manière séquentielle. «chaîne» est le terme spécifiquement utilisé dans les guides de toile de céleri. Le résultat est ensuite renvoyé dans la file d'attente en redis.

travailleur de céleri sont utilisées pour l'invoquer « tâches indépendantes » principalement utilisées pour la i.e. 'cas d'utilisation du réseau de « l'envoi d'email », « url »

frapper