首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

celery 经常卡死,求帮助

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

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

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

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

    11 回复  |  直到 2018-10-16 08:54:55 +08:00
        1
    ohhe   2018-08-06 16:56:38 +08:00
    什么版本
    某些版本有这样的问题
        2
    WinMain   2018-08-07 08:41:58 +08:00
    用的 redis ?
        3
    myyou   2018-08-07 10:10:45 +08:00
    celery 的确会这样,内存占用会越来越多,然后就假死,建议写个检测脚本定时重启。
    或者找一个替代品例如这个: https://github.com/Bogdanp/dramatiq
        4
    darksand   2018-08-07 11:09:14 +08:00
    @WinMain rabbitmq
        5
    darksand   2018-08-07 11:11:21 +08:00
    @myyou 如果用检测脚本定时重启的话,请问怎么检测到是否假死呢?
        6
    myyou   2018-08-07 13:53:03 +08:00
    @darksand 之前做的是每隔一段时间就检测 celery 所有进程内存占用,到一定量时不管假不假死都重启。你可以根据是否有日志输出来重启。
    实际我还是建议你换这个 https://github.com/Bogdanp/dramatiq,celery 我一直怀疑它内存泄漏。
        7
    darksand   2018-08-07 16:45:57 +08:00
    @myyou 感谢
        8
    darksand   2018-08-07 16:46:43 +08:00
    @ohhe 用的 4.2.0
        9
    ohhe   2018-08-07 17:20:31 +08:00
    try 4.1 或者 3.1
        10
    qq7171891   2018-10-16 08:53:38 +08:00
    我也是。。我头都大了。。任何异常不抛出,同时使用 beat 和 worker,会发现 beat 很好,worker 会过几天突然莫名其妙的不执行了,Received task 都没有了,但是开了 Debug 模式,没有任何异常报告。
        11
    qq7171891   2018-10-16 08:54:55 +08:00
    实在不成打算用 RQ 了。不好的地方就是首先要重新学习,其次 RQ 没有原生支持类似 beat 这样的计划任务模块,但有扩展包,别人写了一个。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2322 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 12:54 · PVG 20:54 · LAX 04:54 · JFK 07:54
    ♥ Do have faith in what you're doing.