8

我有一个 celery 设置,它使用两个不同的服务器来处理任务。我试图找出匹配任务完成的服务器的最佳方法。我浏览了文档,没有看到任何关于从 AsyncResult 检索主机名的信息。

对此问题的任何意见表示赞赏。我正在考虑尝试的另一个选择是将主机名简单地放在每个 celery 配置中,尽管这种方法是不可取的,因为它是要记住要做的另一件事。

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 回答