celery worker 会消失

2016-04-23 21:42:02 +08:00
 julyclyde
最近几个月发现, celery worker 跑几天就卡死了,进程还在,但不干活
装了 flower 之后,发现 prefork 模式的这些 worker ,大概一天左右就不再被 flower 列出来了,估计是没向 broker 发心跳?

换 gevent worker 之后能一直保持运行
3.1.X 版本

大家有没有遇到类似的情况?
4639 次点击
所在节点    Python
6 条回复
calease
2016-04-24 02:40:09 +08:00
从来没用过 prefork 的 worker 。
在 rabbitmq web interface 上看 message 有没有被正常 consume 。
julyclyde
2016-04-24 03:04:20 +08:00
@calease 没 consume ;我的是 redis ,我看 len(events)越来越大
calease
2016-04-24 03:13:01 +08:00
我记得 redis messages 是存在 celery 这个 key 里的吧,用 scard(celery)看 message 的数量。
但我也从没遇过 worker 停止的问题。用-l DEBUG 看看?
julyclyde
2016-04-24 09:05:31 +08:00
@calease 不是 celery 这个 key 啊。消息是 kombu 处理的, kombu 哪儿认识谁是 celery 啊……
zhouquanbest
2016-04-24 18:29:13 +08:00
Celery 的坑找起来还是很麻烦的 你要是想先快速解决 再找慢慢找 bug 的话
可以先配置下 celery worker 自杀 设定执行个千百次自杀重启好了
在服务端很常见的解决方案
julyclyde
2016-04-24 19:47:35 +08:00
@zhouquanbest 我设置了 timelimit ,但没什么效果,所以我怀疑是 prefork 模式的 master 进程有问题

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

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

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

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

© 2021 V2EX