【发布时间】:2012-11-22 07:32:57
【问题描述】:
我有一个 celery 设置,它使用两个不同的服务器来处理任务。我试图找出匹配任务完成的服务器的最佳方法。我浏览了文档,没有看到任何关于从 AsyncResult 检索主机名的信息。
感谢您就此事提供任何意见。我正在考虑尝试的另一种选择是将主机名简单地放在每个 celery 配置中,尽管这种方法是不受欢迎的,因为它需要记住要做的另一件事。
【问题讨论】:
标签: celery django-celery
我有一个 celery 设置,它使用两个不同的服务器来处理任务。我试图找出匹配任务完成的服务器的最佳方法。我浏览了文档,没有看到任何关于从 AsyncResult 检索主机名的信息。
感谢您就此事提供任何意见。我正在考虑尝试的另一种选择是将主机名简单地放在每个 celery 配置中,尽管这种方法是不受欢迎的,因为它需要记住要做的另一件事。
【问题讨论】:
标签: celery django-celery
一种可能的解决方法是返回带有任务返回值的主机名
from celery import current_task
@celery.task
def hello(x, y):
return dict(hostname=current_task.request.hostname, result='hello')
【讨论】: