0

複数のコンポーネントを使用して Python で記述された「プロジェクト」があります。いくつかの異なる Pyramid および Twisted アプリが実行されています。

Celery を使用して、Pyramid と Twisted から作業の一部をオフロードすることを検討しています。明確にするために、複数の Pyramid および Twisted アプリの作業を処理する 1 つの Celery インスタンス/構成を見ています。

私がオンラインで見つけたすべての情報は、1 つまたは複数のアプリの複数の Celery をカバーしています。複数のアプリに1つのセロリではありません。Celery は、これらすべてのアプリに共通する 4 ~ 5 つの機能を実行します。

この種のセットアップに推奨される戦略/一般的な落とし穴はありますcelery_tasksか?それとも、すべての異なるプロジェクトがインポートするスタンドアロン パッケージを使用することで一般的に問題ないでしょうか?

4

1 に答える 1

1

分散システムです。定義上、タスクがワーカーによって実行され、呼び出し元が結果をフェッチできる限り、どこからタスクを呼び出しても問題ありません。

タスクを送信し、結果を受信するように適切に構成された両方のプロジェクトで問題ないはずです。共通のタスクを持つ 1 つの共有モジュールで問題ありません。

共有ワーカーは、そのモジュールのみをインポートする必要があります。

于 2013-07-29T13:32:56.593 に答える