V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
archscar
V2EX  ›  问与答

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

  •  
  •   archscar · Jan 5, 2021 · 1371 views
    This topic created in 1941 days ago, the information mentioned may be changed or developed.
    对于这个问题一直很奇怪,因为 celery 介绍里是说 broker 里会储存所有执行函数需要的东西,那按照这么说应该只需要任务发布端或者 worker 端其中一边有任务函数的代码就可以了吧,两边都要有同一个任务函数的话要修改的时候不是会非常麻烦吗?

    网上看的例子要不是本地 import 另一个 py 模块的任务函数 delay 执行,要不是同一个项目部署到多台服务器,然后在远程服务器上跑 worker,是不是这种场景就是 celery 实际经常使用的场景?如果可以做到只需要其中一端有任务函数的话有什么实用的例子可以参考一下吗?
    2 replies    2021-01-05 12:36:19 +08:00
    Hstar
        1
    Hstar  
       Jan 5, 2021   ❤️ 1
    发布端可以不用的,但是需要你自己组装任务结构体,使用 app.send_task()函数发布任务
    文档 https://docs.celeryproject.org/en/stable/reference/celery.html#celery.Celery.send_task
    archscar
        2
    archscar  
    OP
       Jan 5, 2021
    @Hstar 好的,我参考一下,非常感谢!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2771 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 10:58 · PVG 18:58 · LAX 03:58 · JFK 06:58
    ♥ Do have faith in what you're doing.