我目前正在将celery与django结合使用,并且一切正常。
但是,如果服务器超载,我希望能够通过检查当前计划了多少个任务,使用户有机会取消任务。
我怎样才能做到这一点?
我正在使用Redis作为代理。
这在某种程度上与我的问题有关,但是我不需要列出任务,只需数一下它们即可:)
如果您的代理配置为redis://localhost:6379/1,并且您的任务已提交到常规celery队列,则可以通过以下方式获得长度:
redis://localhost:6379/1
celery
import redis queue_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