私はPythonとCelery-Redisを初めて使うので、私の理解が間違っていれば修正してください。セロリはどのようにタスクの結果をレディスに保存するのですか
TaskClass
- - >セロリタスク
HandlerClass1, HandlerClass2
- >これらは、PythonのクラスはObjectクラスに拡張されているアプリケーションが作成
がTaskClass
が言うdumyTask
インスタンス
私のような構造を有しているコードベースのデバッグされていますdumyTask
は、ハンドラのシグネチャを取って、dumySubTask1, dumySubTask2
と言って、セロリのサブタスクを作成します(これらのサブタスクは一意だと思います)。
私は理解できません。
1)セロリはどのようにしてdumySubTask1, dumySubTask2
とdumyTask
の結果を管理しますか? dumySubTask1
とdumySubTask2
の結果を集計し、結果としてdumyTask
とする必要があります。 Celery-Redisはどのようにこれを管理していますか?
2)タスクが実行されたら、セールスがタスクの結果をバックエンドにどのように格納しますか?私はdumySubTask1
とdumySubTask2
の結果をバックエンドに格納し、結果をdumyTask
に返してからdumyTask
に返すことを意味します。QUEUE(私が間違っている場合は修正してください)?
3)セロリはタスクとサブタスクをSTACKとしていますか?スナップショットをご覧ください。 Task-SubTask Tree
ご迷惑をおかけして申し訳ございません。ありがとう。