我有一系列与Celery一起运行的任务。 RabbitMQ是经纪人,Redis是后端。
使用python redis
库,是否可以直接从redis获取任务状态?我一直在尝试这个:
redis_instance = redis.StrictRedis(host = settings.REDIS['host'], db = settings.REDIS['db'],
password = settings.REDIS['password'])
for i in redis_instance.get('celery-task-meta-*'):
...
不幸的是,i
始终为无。
更多信息:
CELERY_RESULT_BACKEND
设置为redis://:password@host:port/0
奇怪的是,除了直接从任务访问外,似乎没有redis写入数据库。我甚至在远程处理时从get '*'
提示符处完成了get *
和redis-cli
。两者都只返回(nil)
。
有没有办法直接从redis获取数据?或者这是以某种方式单独完成的?