大家有没有遇到过 Celery 收到任务不执行的情况?

2017-11-01 18:14:21 +08:00
 noobsheldon

Docker容器中, 使用Supervisord启动 Celery, Broker 是采用的 RabbitMQ, 能收到任务, 但是却不执行. 但是在本地同样的配置完全没问题....下面是 Celery 的 Debug 日志, 感觉没啥问题啊......

[2017-11-01 18:02:35,918: INFO/MainProcess] Received task: excel_parse.parse_excel.tasks.connect_queue[3145f1ae-bab9-499d-9ce5-8e6dbf1a3f96]
[2017-11-01 18:02:35,919: DEBUG/MainProcess] TaskPool: Apply <function _fast_trace_task at 0x7f1c7cfb67d0> (args:('excel_parse.parse_excel.tasks.connect_queue', '3145f1ae-bab9-499d-9ce5-8e6dbf1a3f96', [], {}, {'utc': True, u'is_eager': False, 'chord': None, u'group': None, 'args': [], 'retries': 0, u'delivery_info': {u'priority': 0, u'redelivered': True, u'routing_key': u'excel_service', u'exchange': u'celery'}, 'expires': None, u'hostname': 'celery@144f99ab7079', 'task': 'excel_parse.parse_excel.tasks.connect_queue', 'callbacks': None, u'correlation_id': '3145f1ae-bab9-499d-9ce5-8e6dbf1a3f96', 'errbacks': None, 'timelimit': (None, None), 'taskset': None, 'kwargs': {}, 'eta': None, u'reply_to': 'e356ac10-ccc7-3627-b513-e411146cb553', 'id': '3145f1ae-bab9-499d-9ce5-8e6dbf1a3f96', u'headers': {}}) kwargs:{})

6340 次点击
所在节点    Python
6 条回复
wcsjtu
2017-11-01 18:32:17 +08:00
看看 timezone 有没有问题
noobsheldon
2017-11-01 18:40:33 +08:00
@wcsjtu 应该不是, 我在容器内部使用 root 账户执行 python manage.py celery worker -l info -A project 就能正确执行. 容器启动时, 原本使用的是 Supervisor 执行的 python manage.py celery worker -l info -A project.
wcsjtu
2017-11-01 21:40:55 +08:00
@noobsheldon 那就母鸡啊~ 我只遇到过 timezone 异常,导致无限等待的问题
话说,把堆栈打印出来看看呗
noobsheldon
2017-11-02 09:23:54 +08:00
@wcsjtu 执行过`celery inspect ping -A project`后, 就开始运行了. 不过原因还得再看看:)
icnych
2017-11-02 10:23:00 +08:00
我也遇到过,然后重启就可以执行,然后我用 flower 看了下 worker 的状态是离线状态,然后我就写了一个脚本定时检测,如果离线了就定时重启下 celery,最后发现会频繁的重启。因为我是在 k8s 下面跑的,最后我给这个 pod 加上了内存和 cpu 的限制就正常了,我也不解是什么原因,在容器内部直接执行 celery 的命令是正常的......
kid7788
2017-11-03 09:59:30 +08:00
我之前有一次用 flower 看到能收到任务,但是有的任务不执行(状态忘记了,反正不是 success ),后来清空了 redis 就好了。。

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

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

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

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

© 2021 V2EX