我有一个芹菜设置,使用两个不同的服务器来处理任务。我试图找出匹配任务完成的服务器的最佳方法。我仔细查看了文档,并没有看到有关从AsyncResult检索主机名的任何信息。
对此问题的任何意见表示赞赏。我想要尝试的另一个选择是简单地将主机名放在每个celery配置中,尽管这种方法不是必需的,因为这是另外要记住的事情。
答案 0 :(得分:5)
可能的解决方法是返回具有任务返回值的主机名
from celery import current_task
@celery.task
def hello(x, y):
return dict(hostname=current_task.request.hostname, result='hello')