8

2 つの異なるサーバーを使用してタスクを処理するセロリをセットアップしました。タスクが完了したサーバーを一致させる最善の方法を見つけようとしています。ドキュメントを調べたところ、AsyncResult からホスト名を取得することについて何もわかりませんでした。

この件に関するご意見をお待ちしております。私が試してみようと考えていた別のオプションは、各セロリ構成にホスト名を入れることですが、この方法はもう1つ覚えておく必要があるため望ましくありません.

4

1 に答える 1

5

可能な回避策は、タスクの戻り値でホスト名を返すことです

from celery import current_task

@celery.task
def hello(x, y):
  return dict(hostname=current_task.request.hostname, result='hello')
于 2012-12-07T19:39:17.203 に答える