Celery中如何配置多台机器,为每个机器启动一个worker?

发布于 2021-11-24 07:37:16 字数 147 浏览 871 评论 14

@Hochikong 你好,想跟你请教个问题:如何在多个机器上搭建celery的集群环境?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(14

月牙弯弯 2021-11-30 15:08:20

谢谢大神

贱贱哒 2021-11-30 15:08:20

我想你对celery的使用方式有一点误解.

本来celery的worker就是应该跑在不同机器上,一台机器上的worker可以跑多个task进程或者线程.

worker运行的时候会连接到broker, 在控制机上脚本直接向broker发送任务即可, 当不指定queue的时候,任务会随机分配到任意一个有default-queue的worker机器上.

所以你需要的是建立一个broker,在不同机器上运行celery worker, 在控制机上发送任务向broker即可, 把你要采集的url拆分到不同任务里面发送到broker就行了.

泛泛之交 2021-11-30 15:08:19

看我博客:http://my.oschina.net/hochikong/blog/518587

半世蒼涼 2021-11-30 15:08:17

如果你等不及的话,直接参考celery官方文档(我手头上的是3.1.16的PDF版文档)的routing guide的111和112页

猫九 2021-11-30 15:08:15

打错了,是routing tasks那节。总之是PDF文档的page 111和112

少女情怀诗 2021-11-30 15:08:14

ps:111和112是阅读器所示的页数,文档对应的页码应为107,108

韬韬不绝 2021-11-30 15:08:10

回复
麻烦贴一下celery集群的代码,谢谢!

小瓶盖 2021-11-30 15:08:10

回复
好的,等你明天贴出来,谢谢了

输什么也不输骨气 2021-11-30 15:08:09

能否给出相关配置实例代码?谢谢

冷弦 2021-11-30 15:07:16

希望能给出具体的代码DEMO实例,谢谢!!!

泛泛之交 2021-11-30 12:28:19

这一周多时间一直在找相关的资料,一直没有什么进展,希望博主可以指点迷津,我们的项目有一个模块里面需要执行抓取网页内容的任务,使用Celery进行并行任务控制,由于一次抓取的网页比较多,多台机器上应该如何使用?麻烦给个参考建议,谢谢!

琴流音 2021-11-29 14:43:41

我周日贴出来吧,高三没什么时间在家

奢华的一滴泪 2021-11-29 09:59:11

回复
好的,谢谢!

清欢 2021-11-26 03:10:18

你可以在celery代码中为每个节点都定义一个queue,在每个节点上启动的worker利用启动命令监听你之前定义的相应的queue。其他节点要发送任务给指定的节点时,只要指明要发送的queue即可。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文