如何在不同的机器上安置芹菜工?

我是芹菜新手。我知道如何安装和运行一台服务器,但是我需要将这个任务分配给多台机器。 我的项目使用芹菜分配用户请求传递到一个Web框架不同的机器,然后返回结果。 我阅读文档,但没有提到如何设置多台机器。 我错过了什么?

我的理解是,你的应用程序会将请求推送到一个排队系统(例如rabbitMQ),然后你可以在不同的机器上启动任意数量的工作人员(访问与提交任务的应用程序相同的代码)。 他们将从消息队列中挑选任务,然后开始处理它们。 一旦完成,他们将更新墓碑数据库。

这样做的结果是,你不必为了创build多个工人而做任何特殊的事情。 只需在单独的相同(源树)机器上启动它们。

具有消息队列的服务器不必与具有工作者的服务器相同,并且不需要与提交作业的机器相同。 您只需将消息队列的位置放在celeryconfig.py ,所有机器上的所有工作人员就可以从队列中取出作业来执行任务。

我部署的方式是这样的:

  1. 在一个heroku实例上克隆你的django项目(这将运行前端)
  2. 添加RabitMQ并添加并configuration它
  3. 将你的django项目克隆到另一个heroku实例(称之为worker),在那里你将运行芹菜任务