推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
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
zhoudaiyu
V2EX  ›  Python

Celery Beat 能生产定时任务,但是 Celery Worker 有时不执行是什么情况?

  •  
  •   zhoudaiyu ·
    PRO
    · Jun 29, 2020 · 2738 views
    This topic created in 2170 days ago, the information mentioned may be changed or developed.
    有个定时任务(Period Task)配的是每 1 小时跑一次,项目启动的前 3 次是能正常能跑的,但是第 4 次任务没有执行,第 5 次又正常跑了。看了一下 Beat 的日志任务确实产生了,但是从 Worker 日志和 Flower 上看,任务并没有执行,且从业务上看确实没有执行定时任务。Worker 日志里面看了一下也没有报错。我们的 Broker 是用的 Redis 3,这个项目的所有任务都放到同一个队列上,且其他任务执行是没问题的,只有这个任务有问题。此外,查了一下可以进 redis 用 LLEN celery 去看队列积压情况,但是并没有这个 key 。我们用的 celery 的版本是 3.1.26.post2,django-celery 的版本是 3.2.2 。大家有遇到过这个问题么?
    6 replies    2020-06-29 18:31:43 +08:00
    wd
        1
    wd  
       Jun 29, 2020 via iPhone
    beat 日志不会说是哪个 worker 跑的?我之前遇到过莫名其妙的 job 提交,后面查了好久才弄明白是跑测试用例的时候产生的。你这个是不是也是某人的电脑连到了这个集群消耗了这个任务?要用不同的 redis db
    zhoudaiyu
        2
    zhoudaiyu  
    OP
    PRO
       Jun 29, 2020
    @wd beat 日志中看不到哪个 worker 执行的(有可能是日志的 level 不够低),我确定没有人连上 redis 去生产 /消费任务
    fcmio
        3
    fcmio  
       Jun 29, 2020 via iPhone
    纯新手想请教各位大佬一下用 celery 优势是什么……我最近也在写要做定时任务的,感觉 apscheduler 基本都能满足……
    ynkkdev
        4
    ynkkdev  
       Jun 29, 2020   ❤️ 1
    @ShuoHui #3 前两年早期研究过一段时间,apscheduler 对于我来说,它的分布式实现可能稍微麻烦一点,社区当时也没有好的解决方案。celery 就可以轻易实现分布式,而且使用多,该踩的坑大家也都踩过了。另一方面,apscheduler 确实轻而优雅,celery 也确实显得笨重了一些
    fcmio
        5
    fcmio  
       Jun 29, 2020 via iPhone
    @youngce #4 感谢解答
    zhoudaiyu
        6
    zhoudaiyu  
    OP
    PRO
       Jun 29, 2020 via iPhone
    发现了一些线索,两个工程用了一套 redis 的同一个库,可能有冲突
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1253 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 17:28 · PVG 01:28 · LAX 10:28 · JFK 13:28
    ♥ Do have faith in what you're doing.