【问题标题】:Celery tasks for different python app in different Docker containers不同 Docker 容器中不同 python 应用程序的 Celery 任务
【发布时间】:2017-04-14 15:17:24
【问题描述】:

我已经阅读了官方 Celery 的 docs、DigitalOcean 的 tutorial 并运行了相当不错的 examples。但我无法理解我的应用程序如何像在 Resque Ruby 中那样进行通信。例如,我在 docker 容器中有主 python 应用程序,它必须为其他容器中的 2 个其他 python 应用程序生成任务。在 Resque 中,我的应用程序只是监听一些队列并接受任务,然后做一些工作并推回响应。

【问题讨论】:

    标签: python docker redis celery resque


    【解决方案1】:

    Celery 还需要一个队列/代理来在应用程序进程和工作进程之间进行通信。请参阅http://docs.celeryproject.org/en/latest/getting-started/brokers/index.html 了解受支持的代理(RabbitMQ 经常用于此目的)。

    应用程序进程将新任务发布到代理上的队列中,一旦工作人员有可用容量,工作人员就会从队列中获取它。

    您说您需要将任务传递给另外两个 python 应用程序。这些 python 应用程序可以监听两个不同的队列并处理它们。

    【讨论】:

    • 那么,您能解释一下如何将任务发送到其他应用程序吗?如果给我代码示例会更好。
    猜你喜欢
    • 2019-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-21
    • 1970-01-01
    • 2020-09-13
    • 2016-03-26
    • 1970-01-01
    相关资源
    最近更新 更多