Django Celery获取任务计数
我目前正在将celery与django结合使用,并且一切正常。
但是,如果服务器超载,我希望能够通过检查当前计划了多少个任务,使用户有机会取消任务。
我怎样才能做到这一点?
我正在使用Redis作为代理。
这在某种程度上与我的问题有关,但是我不需要列出任务,只需数一下它们即可:)
回答:
如果您的代理配置为redis://localhost:6379/1
,并且您的任务已提交到常规celery
队列,则可以通过以下方式获得长度:
import redisqueue_name = "celery"
client = redis.Redis(host="localhost", port=6379, db=1)
length = client.llen(queue_name)
或者,从shell脚本(适用于监视器等):
$ redis-cli -n 1 -h localhost -p 6379 llen celery
以上是 Django Celery获取任务计数 的全部内容, 来源链接: utcz.com/qa/421034.html