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

2018-08-06 15:57:27 +08:00
 darksand

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

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

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

1973 次点击
所在节点    问与答
2 条回复
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
2018-08-07 10:58:15 +08:00
@yongzhong 谢谢!我这边 prefetch 都设置的 1,仍然会卡住

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

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

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

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

© 2021 V2EX