您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – 多个工作节点上的Django Celery任务

5b51 2022/1/14 8:23:12 python 字数 1823 阅读 602 来源 www.jb51.cc/python

我在同一个VM上部署了一个 django(1.10)芹菜(4.x),其中rabbitmq是代理(在同一台机器上). 我想在多节点架构上开发相同的应用程序,就像我可以复制许多工作节点,并将任务扩展为快速运行. 这里, >如何使用rabbitmq为这种架构配置芹菜? >在其他工作节点上,应该设置什么? 您应该在一个节点中安装borker并对其进行配置,以便来自其他节点的工作人员可以访问它. 为此,您可

概述

>如何使用rabbitmq为这种架构配置芹菜?
>在其他工作节点上,应该设置什么?

为此,您可以在rabbitmq上创建新的用户/虚拟主机.

# add new user
sudo rabbitmqctl add_user <user> <password>

# add new virtual host
sudo rabbitmqctl add_vhost <vhost_name>

# set permissions for user on vhost
sudo rabbitmqctl set_permissions -p <vhost_name> <user> ".*" ".*" ".*"

# restart rabbit
sudo rabbitmqctl restart

从其他节点,您可以排队任务,也可以只运行工作人员来执行任务.

from celery import Celery

app = Celery('tasks',backend='amqp',broker='amqp://<user>:<password>@<ip>/<vhost>')

def add(x,y):
    return x + y

如果您有这样的文件(比如task.py),则可以使用add.delay()排队任务.

你也可以开始工作

celery worker -A task -l info

你可以在这里看到我的答案,以便简要了解如何使用run tasks on remote machines.对于一步一步的过程,你可以查看我写过的帖子on scaling celery.

总结

以上是编程之家为你收集整理的python – 多个工作节点上的Django Celery任务全部内容,希望文章能够帮你解决python – 多个工作节点上的Django Celery任务所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶