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

celery 经常卡死,有大神遇到过吗

  •  
  •   darksand · 2018-08-06 15:57:27 +08:00 · 1975 次点击
    这是一个创建于 2306 天前的主题,其中的信息可能已经有所发展或是发生改变。

    celery worker 经常卡死,例如 并发数 是 4,然后经常就有 4 个任务状态卡在 started 或者 received 不动,然后也不会抛出异常。我是设置了超时的 CELERYD_TASK_SOFT_TIME_LIMIT = 120

    但是时间过了很久 也不会抛出 异常 SoftTimeLimitExceeded

    我看文档是肯定会抛出的。但是这个有的时候能抛出,有的时候不会抛出,然后就卡死在那个地方! 整了一周了还是没找到问题

    2 条回复    2018-08-07 10:58:15 +08:00
    yongzhong
        1
    yongzhong  
       2018-08-06 17:35:45 +08:00
    http://docs.celeryproject.org/en/latest/userguide/optimizing.html#prefork-pool-prefetch-settings

    你的任务是否是执行时间较长的,celery 有 prefork 机制,任务会预先分配到 worker 上,如果这个 worker 执行任务阻塞,那这个 worker 上后续的任务阻塞,并不会自动调度到其他空闲 worker 上
    darksand
        2
    darksand  
    OP
       2018-08-07 10:58:15 +08:00
    @yongzhong 谢谢!我这边 prefetch 都设置的 1,仍然会卡住
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3188 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 13:20 · PVG 21:20 · LAX 05:20 · JFK 08:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.