2017-06-16 2 views
0

私はPythonとCelery-Redisを初めて使うので、私の理解が間違っていれば修正してください。セロリはどのようにタスクの結果をレディスに保存するのですか

TaskClass - - >セロリタスク

HandlerClass1, HandlerClass2 - >これらは、PythonのクラスはObjectクラスに拡張されているアプリケーションが作成

TaskClassが言うdumyTaskインスタンス

私のような構造を有しているコードベースのデバッグされていますdumyTaskは、ハンドラのシグネチャを取って、dumySubTask1, dumySubTask2と言って、セロリのサブタスクを作成します(これらのサブタスクは一意だと思います)。

私は理解できません。

1)セロリはどのようにしてdumySubTask1, dumySubTask2dumyTaskの結果を管理しますか? dumySubTask1dumySubTask2の結果を集計し、結果としてdumyTaskとする必要があります。 Celery-Redisはどのようにこれを管理していますか?

2)タスクが実行されたら、セールスがタスクの結果をバックエンドにどのように格納しますか?私はdumySubTask1dumySubTask2の結果をバックエンドに格納し、結果をdumyTaskに返してからdumyTaskに返すことを意味します。QUEUE(私が間違っている場合は修正してください)

3)セロリはタスクとサブタスクをSTACKとしていますか?スナップショットをご覧ください。 Task-SubTask Tree

ご迷惑をおかけして申し訳ございません。ありがとう。

答えて

0

セロリの作業者は「タスク」を呼び出すことができます。この「タスク」は、「連鎖」することができ、すなわち連続して呼び出すことができる「サブタスク」を有することができる。 'チェーン'は、セロリキャンバスガイドで特に使用される用語です。その結果は、赤字でキューに戻されます。

セロリのワーカーは、「ネットワークの利用事例」、すなわち「メールを送信する」、「ヒットURL」のために主に使用される「独立したタスク」を呼び出すために使用されます。

関連する問題