V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
archscar
V2EX  ›  问与答

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

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

    网上看的例子要不是本地 import 另一个 py 模块的任务函数 delay 执行,要不是同一个项目部署到多台服务器,然后在远程服务器上跑 worker,是不是这种场景就是 celery 实际经常使用的场景?如果可以做到只需要其中一端有任务函数的话有什么实用的例子可以参考一下吗?
    2 条回复    2021-01-05 12:36:19 +08:00
    Hstar
        1
    Hstar  
       2021-01-05 12:34:39 +08:00   ❤️ 1
    发布端可以不用的,但是需要你自己组装任务结构体,使用 app.send_task()函数发布任务
    文档 https://docs.celeryproject.org/en/stable/reference/celery.html#celery.Celery.send_task
    archscar
        2
    archscar  
    OP
       2021-01-05 12:36:19 +08:00
    @Hstar 好的,我参考一下,非常感谢!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2500 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 02:45 · PVG 10:45 · LAX 18:45 · JFK 21:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.