V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
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 · 2020-06-29 14:58:03 +08:00 · 2231 次点击
    这是一个创建于 1395 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有个定时任务(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 条回复    2020-06-29 18:31:43 +08:00
    wd
        1
    wd  
       2020-06-29 16:48:31 +08:00 via iPhone
    beat 日志不会说是哪个 worker 跑的?我之前遇到过莫名其妙的 job 提交,后面查了好久才弄明白是跑测试用例的时候产生的。你这个是不是也是某人的电脑连到了这个集群消耗了这个任务?要用不同的 redis db
    zhoudaiyu
        2
    zhoudaiyu  
    OP
       2020-06-29 16:56:41 +08:00
    @wd beat 日志中看不到哪个 worker 执行的(有可能是日志的 level 不够低),我确定没有人连上 redis 去生产 /消费任务
    ShuoHui
        3
    ShuoHui  
       2020-06-29 17:02:05 +08:00 via iPhone
    纯新手想请教各位大佬一下用 celery 优势是什么……我最近也在写要做定时任务的,感觉 apscheduler 基本都能满足……
    youngce
        4
    youngce  
       2020-06-29 17:15:28 +08:00   ❤️ 1
    @ShuoHui #3 前两年早期研究过一段时间,apscheduler 对于我来说,它的分布式实现可能稍微麻烦一点,社区当时也没有好的解决方案。celery 就可以轻易实现分布式,而且使用多,该踩的坑大家也都踩过了。另一方面,apscheduler 确实轻而优雅,celery 也确实显得笨重了一些
    ShuoHui
        5
    ShuoHui  
       2020-06-29 17:16:33 +08:00 via iPhone
    @youngce #4 感谢解答
    zhoudaiyu
        6
    zhoudaiyu  
    OP
       2020-06-29 18:31:43 +08:00 via iPhone
    发现了一些线索,两个工程用了一套 redis 的同一个库,可能有冲突
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4804 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 01:08 · PVG 09:08 · LAX 18:08 · JFK 21:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.