【问题标题】:Celery AsyncResult get hostnameCelery AsyncResult 获取主机名
【发布时间】:2012-11-22 07:32:57
【问题描述】:

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

感谢您就此事提供任何意见。我正在考虑尝试的另一种选择是将主机名简单地放在每个 celery 配置中,尽管这种方法是不受欢迎的,因为它需要记住要做的另一件事。

【问题讨论】:

    标签: celery django-celery


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的回复。这是我最终使用的方法。我忘记更新这篇文章了。我提出的主要问题是,我认为主机名是一个有价值的信息,应该包含在每个响应中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-21
    • 2021-06-05
    • 1970-01-01
    • 2019-07-18
    • 2015-09-12
    • 2017-09-25
    • 1970-01-01
    相关资源
    最近更新 更多