为了账号安全,请及时绑定邮箱和手机立即绑定

在flask应用中使用celery任务队列,celery队列无法正常启动

在flask应用中使用celery任务队列,celery队列无法正常启动

守着一只汪 2019-04-08 09:21:49
最近在写一个flask应用,想使用celery做任务队列,就去flask官网上找了样例程序,然后复制到本机上执行了一下,结果celery没有正常启动.只有一个源文件test.py,rabbitmq已配置并正常启动.代码如下:fromflaskimportFlaskfromceleryimportCelerydefmake_celery(app):celery=Celery(app.import_name,broker=app.config['CELERY_BROKER_URL'],backend=app.config['CELERY_RESULT_BACKEND'])celery.conf.update(app.config)TaskBase=celery.TaskclassContextTask(TaskBase):abstract=Truedef__call__(self,*args,**kwargs):withapp.app_context():returnTaskBase.__call__(self,*args,**kwargs)celery.Task=ContextTaskreturnceleryapp=Flask(__name__)app.config.update(CELERY_BROKER_URL='amqp://guest@localhost//',CELERY_RESULT_BACKEND='amqp://guest@localhost//')celery=make_celery(app)@celery.task()defadd_together(a,b):returna+bresult=add_together.delay(23,42)result.wait()差不多就是样例代码直接拷贝下来用了.然后我在当前目录下执行celery-Atestworker--loglevel=info和celery-Atest.celeryworker--loglevel=info之后阻塞,同时没有任何提示.我另外打开一个终端,在这个目录下执行pythontest.py之后发生阻塞.用pdb调试发现阻塞在最后一行result.wait().请问我的配置过程出现什么问题了?
查看完整描述

2 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

最近刚好也在看flask和celery,不过用的是redis。先启动redis然后启动celeryceleryworker-Atest.celery--loglevel=info再启动flask。
你问题里没有描述实际报错,也不好回答你了。可以参考下链接描述
                            
查看完整回答
反对 回复 2019-04-08
  • 2 回答
  • 0 关注
  • 982 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号