celery 停止任务_celery任务状态监控

celery是python里常用的一个异步任务队列,使用celery可以大大简化搭建任务队列的工作。实际使用中可能会需要监控一些任务或者定时任务的运行状态。

这里就讲一下celery的任务状态监控相关的方法。

单独使用celery命令格式为 celery -A [proj] [cmd]

在django下使用时,用manage.py启动时则不需要-A参数,命令格式为

python manage.py celery [cmd]

1. 通用命令

1) 查看celery worker的状态

python manage.py status

celery@DEV_192_168_X_XX: OK

celery@DEV_192_168_X_XX: OK

celery@DEV_192_168_X_XX: OK

celery@DEV_192_168_X_XX: OK

celery@DEV_192_168_X_XX: OK

1 node online.

返回内容表示目前有5个worker运行中,运行正常,

@前面是worker的name,后面是worker的hostname,在启动worker时用-n workername@%h参数传入,如果不传递,默认为celery@hostname。

会报一个warning,建议给每个worker定义一个唯一的名字。

第二部分返回值是worker的计数,只是简单的统计了不同名称的个数.比如上面没有指定队列名称,就会统计只有一个活动的node.

2) 查看 celery task和queue详细信息

查看当前正在运行的task

python manage.py inspect active

-> celery@localhost: OK

- empty -

查看当前的队列的具体信息

python manage.py inspect active-queues

-> celery@localhost: OK

* {u'exclusive': False, u'name': u'celery', u'exchange': {u'name': u'celery'

, u'durable': True, u'delivery_mode': 2, u'passive': False, u'arguments': None,

u'type': u'direct', u'auto_delete': False}, u'durable': True, u'routing_key': u'

celery', u'no_ack': False, u'alias': None, u'queue_arguments': None, u'binding_a

rguments': None, u'bindings': [], u'auto_delete': False}

输出 worker的内存占用(需要安装psutil库)

python manage.py celery inspect memdump

-> celery@localhost:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值