celery broker和backend对接rabbitmq和redis

本文探讨了使用Celery进行异步任务处理时,遇到的任务状态获取问题及Redis缓存导致的状态更新延迟。通过重启Redis服务和清除缓存,解决了result.ready()一直返回False的问题,确保了任务状态的准确获取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

result.ready()

可能一直返回False

把redis重启

 

127.0.0.1:6379> flushall                         

//删除当前数据库中的所有Key
flushdb
//删除所有数据库中的key
flushall

(venv3) [root@localhost mcelery]# ls
__pycache__  tasksbk.py  tasks.py
(venv3) [root@localhost mcelery]# 

[root@localhost mcelery]# celery -A tasks worker --loglevel=info --pool=solo

 

 

#coding=utf-8
from celery import Celery

#broker = 'redis://127.0.0.1:6379/7'
broker = 'amqp://guest:guest@127.0.0.1:5672/'
backend = 'redis://127.0.0.1:6379/8'

app = Celery('tasks', broker=broker, backend=backend)

@app.task
def add(x, y):
    return x + y
(venv3) [root@localhost mcelery]# python 
Python 3.6.4 (default, Nov 22 2018, 08:20:15) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more informtion.
>>> from tasks import add
>>> r = add.delay(34,23)
>>> r.status
'PENDING'
>>> r.ready()
False
>>> r.ready()
False
>>> r.ready()
True
>>> r.ready()
True
>>> r.status
'SUCCESS'
>>> 

参考:https://www.cnblogs.com/cwp-bg/p/8759638.html

http://docs.jinkan.org/docs/celery/getting-started/index.html

https://www.jianshu.com/p/1840035cb510

git@github.com:JackLiu16/mcelery.git

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值