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包,这样也时可以的.
    评论

报告相同问题?

悬赏问题

  • ¥20 matlab计算中误差
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊