想问一下 celery 实际使用中一定要任务发布端和 worker 端都有相同的任务函数代码才行吗?

2021-01-05 12:08:17 +08:00
 archscar
对于这个问题一直很奇怪,因为 celery 介绍里是说 broker 里会储存所有执行函数需要的东西,那按照这么说应该只需要任务发布端或者 worker 端其中一边有任务函数的代码就可以了吧,两边都要有同一个任务函数的话要修改的时候不是会非常麻烦吗?

网上看的例子要不是本地 import 另一个 py 模块的任务函数 delay 执行,要不是同一个项目部署到多台服务器,然后在远程服务器上跑 worker,是不是这种场景就是 celery 实际经常使用的场景?如果可以做到只需要其中一端有任务函数的话有什么实用的例子可以参考一下吗?
688 次点击
所在节点    问与答
2 条回复
Hstar
2021-01-05 12:34:39 +08:00
发布端可以不用的,但是需要你自己组装任务结构体,使用 app.send_task()函数发布任务
文档 https://docs.celeryproject.org/en/stable/reference/celery.html#celery.Celery.send_task
archscar
2021-01-05 12:36:19 +08:00
@Hstar 好的,我参考一下,非常感谢!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/741806

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX