python分布式调度celery无法启动或自动退出排查步骤

Celery是个好东西,但是不具体去分析,等出现错误会显得手忙脚乱

1) 启动调试方法

    celery worker -c 2 -A project -B -l debug -f /var/log/project.log

    日志基本没有,控制台就是一些debug和warning日志

[2017-01-16 13:06:35,449: INFO/Beat] beat: Starting...
[2017-01-16 13:06:35,461: INFO/MainProcess] Connected to amqp://username:**@127.0.0.1:5672/
[2017-01-16 13:06:35,482: DEBUG/Beat] Current schedule:
<Entry: 任务名称 <crontab: */3 * * * * (m/h/d/dM/MY)>
[2017-01-16 13:06:35,482: DEBUG/Beat] beat: Ticking with max interval->5.00 minutes
[2017-01-16 13:06:35,483: INFO/MainProcess] mingle: searching for neighbors
[2017-01-16 13:06:35,503: INFO/Beat] Scheduler: Sending due task 任务名称 (任务名称)
[2017-01-16 13:06:36,500: INFO/MainProcess] mingle: all alone
[2017-01-16 13:06:36,528: WARNING/MainProcess] celery@localhost ready.
[2017-01-16 13:06:36,559: DEBUG/MainProcess] Canceling task consumer...
[2017-01-16 13:06:36,561: INFO/MainProcess] beat: Shutting down...
[2017-01-16 13:06:37,587: DEBUG/MainProcess] Canceling task consumer...
[2017-01-16 13:06:37,588: DEBUG/MainProcess] Closing consumer channel...

然后怎么办,懵逼了...

这个时候,不能随便猜了,不信你可要猜一晚上试试

去git上下celery的源码,搜索关键字

Canceling task consumer

估计原因是在xx地方报错了,然后打印了2行日志出来.

找到代码在worker/consumer.py里面

   def shutdown(self, c):
        if c.task_consumer:
            import traceback
            debug("start shutdown traceback ====")
            traceback.print_stack()
            self.stop(c)
            debug('Closing consumer channel...')
            ignore_errors(c, c.task_consumer.clo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值