我已经阅读了官方Celery的docs,DigitalOcean的tutorial并且运行得非常好examples。但我无法理解我的应用程序如何在Resque Ruby中进行通信。例如,我在docker容器中有一个主python应用程序,它必须为其他容器中的其他2个python应用程序生成任务。在Resque我的应用程序只是听一些队列并完成任务,然后做一些工作并推迟回复。
答案 0 :(得分:0)
Celery还需要一个队列/代理来在应用程序进程和工作进程之间进行通信。有关支持的代理,请参阅http://docs.celeryproject.org/en/latest/getting-started/brokers/index.html(RabbitMQ通常用于此)。
应用程序进程将新任务发布到代理上的队列,并且只要工作人员有可用容量,工作人员就会从队列中获取它。
你说你需要将任务传递给其他两个python应用程序。可以使用这些python应用程序来侦听两个不同的队列并对其进行处理。