我有一个芹菜设置,它使用两个不同的服务器来处理任务。我正在尝试找出匹配任务在哪个服务器上完成的最佳方法。我浏览了文档,没有看到任何关于从 AsyncResult 检索主机名的信息。
欢迎就此事提供任何意见。我想尝试的另一种选择是简单地将主机名放在每个芹菜配置中,尽管不需要这种方法,因为它是要记住的另一件事。
一种可能的解决方法是返回带有任务返回值的主机名
from celery import current_task
@celery.task
def hello(x, y):
return dict(hostname=current_task.request.hostname, result='hello')