95CACA 2018-08-28 07:17 采纳率: 33.3%
浏览 4561
已结题

celery 启动worker 时候报错

错误信息如下:
raceback (most recent call last):
File "/home/xuxiaolong/anaconda3/lib/python3.6/site-packages/celery/app/utils.py", line 228, in find_app
found = sym.app
AttributeError: module 'celeryDemo' has no attribute 'app'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/xuxiaolong/anaconda3/bin/celery", line 11, in
sys.exit(main())
File "/home/xuxiaolong/anaconda3/lib/python3.6/site-packages/celery/__main__.py", line 30, in main
main()
File "/home/xuxiaolong/anaconda3/lib/python3.6/site-packages/celery/bin/celery.py", line 80, in main
cmd.execute_from_commandline(argv)
File "/home/xuxiaolong/anaconda3/lib/python3.6/site-packages/celery/bin/celery.py", line 723, in execute_from_commandline
super(CeleryCommand, self).execute_from_commandline(argv)))
File "/home/xuxiaolong/anaconda3/lib/python3.6/site-packages/celery/bin/base.py", line 301, in execute_from_commandline
argv = self.setup_app_from_commandline(argv)
File "/home/xuxiaolong/anaconda3/lib/python3.6/site-packages/celery/bin/base.py", line 431, in setup_app_from_commandline
self.app = self.find_app(app)
File "/home/xuxiaolong/anaconda3/lib/python3.6/site-packages/celery/bin/base.py", line 451, in find_app
return find_app(app, symbol_by_name=self.symbol_by_name)
File "/home/xuxiaolong/anaconda3/lib/python3.6/site-packages/celery/app/utils.py", line 233, in find_app
found = sym.celery
AttributeError: module 'celeryDemo' has no attribute 'celery'

代码目录结构:
celeryDemo
--__init__.py
--tasks.py
--CeleryConf.py
--config.py
config.py代码:
from future import absolute_import

CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379/5'
BROKER_URL = 'redis://127.0.0.1:6379/6'

celeryconf.py代码
from future import absolute_import
from celery import Celery

app=Celery('celeryDemo', include=['celeryDemo.tasks'])
app.config_from_object('celeryDemo.config')

if name == '__main__':
app.start()

tasks.py代码:
from future import absolute_import
from celeryDemo.celeryConf import app
#from celeryDemo.scrapyLijia import scrapyProcess

@app.task
def add(x, y):
return x + y
"""
@app.task
def spider(region):
q =[]
process = scrapyProcess(region,q,"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0",None,5)
process.start()
"""
当家帮忙看下,我查了好久不知道啥问题

  • 写回答

1条回答 默认 最新

  • 无明之徒 2018-08-28 09:33
    关注

    解决方案有2个:

    1. 升级python-librabbitmq到新的版本,如 1.5.2 ,可以用通过.deb包或apt-get命令来升级,也可以用pip来安装.我用pip安装默认就到1.5.2版本了,如下:

    jay@jay-linux:~$ sudo apt-get remove python-librabbitmq #删除原来的包
    jay@jay-linux:~$ sudo pip install librabbitmq

    1. 直接删除python-librabbitmq包,这样celery会回到使用python-amqp包,这样也时可以的.
    评论

报告相同问题?

悬赏问题

  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条