Celery AsyncResult获取主机名

时间:2012-12-04 16:01:00

标签: celery django-celery

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

对此问题的任何意见表示赞赏。我想要尝试的另一个选择是简单地将主机名放在每个celery配置中,尽管这种方法不是必需的,因为这是另外要记住的事情。

1 个答案:

答案 0 :(得分:5)

可能的解决方法是返回具有任务返回值的主机名

from celery import current_task

@celery.task
def hello(x, y):
  return dict(hostname=current_task.request.hostname, result='hello')