python - 如何在不同的机器上设置 celery worker ?

标签 python celery

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

最佳答案

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

这样做的结果是您不必做任何特别的事情来启动多个 worker 。只需在不同的相同(相同源代码树)机器上启动它们。

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

关于python - 如何在不同的机器上设置 celery worker ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10260925/

相关文章:

python - Django 数据库到 postgresql

python - 两个 float 抛出 TypeError : unsupported operand type(s) for +: 'float' and 'str'

python - 为什么 Sentry 不将来自 Celery 的 SoftTimeLimitExceeded 错误分组?

python - Python Celery eta 的限制?

Python 给定属性的不同列表是对象列表

python - Apache 记分板(用于服务器统计)有 Python 接口(interface)吗?

python - 将 python 的 dict 功能扩展到用户创建的类

python - Celery pickle type content disallowed 错误

python - 向 celery 中的特定消费者发送消息(通过路由键)

python - 同步 celery 队列