cem*_*cem 8 python celery celery-task
我有一个简单的项目,没有任何框架,如 Django 或 Flask。
我的配置是这样的:
CELERY_BROKER_BACKEND = "sqlakombu.transport.Transport"
CELERY_BROKER_URL = "db+sqlite:///results.sqlite"
CELERY_CACHE_BACKEND = "db+sqlite:///results.sqlite"
CELERY_RESULT_BACKEND = "db+sqlite:///results.sqlite"
Run Code Online (Sandbox Code Playgroud)
我已经安装了软件包:
SQLAlchemy==1.2.8
kombu==4.2.0
kombu-sqlalchemy==1.1.0
celery==4.1.1
Run Code Online (Sandbox Code Playgroud)
当我尝试启动芹菜时:
celery worker -A proj --loglevel=info
Run Code Online (Sandbox Code Playgroud)
我收到这个错误:
File "/home/cyildiz/Projects/env/sample/local/lib/python2.7/site-packages/kombu/connection.py", line 582, in get_transport_cls
transport_cls = get_transport_cls(transport_cls)
File "/home/cyildiz/Projects/env/sample/local/lib/python2.7/site-packages/kombu/transport/__init__.py", line 83, in get_transport_cls _transport_cache[transport] = resolve_transport(transport)
File "/home/cyildiz/Projects/env/sample/local/lib/python2.7/site-packages/kombu/transport/__init__.py", line 64, in resolve_transport
raise KeyError('No such transport: {0}'.format(transport))
KeyError: u'No such transport: db'
Run Code Online (Sandbox Code Playgroud)
当我将设置更改为:
CELERY_BROKER_BACKEND = "sqlakombu.transport.Transport"
CELERY_BROKER_URL = "sqla+sqlite:///results.sqlite"
CELERY_CACHE_BACKEND = "sqla+sqlite:///results.sqlite"
CELERY_RESULT_BACKEND = "sqla+sqlite:///results.sqlite"
Run Code Online (Sandbox Code Playgroud)
错误是:
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module__import__(name)
ImportError: No module named sqla
Run Code Online (Sandbox Code Playgroud)
那么,我哪里犯了错误呢?
好吧,CELERY_BROKER_URL 犯了这个错误,我已删除该行并将设置设置为:
CELERY_BROKER_BACKEND = "db+sqlite:///celery.sqlite"
CELERY_CACHE_BACKEND = "db+sqlite:///celery.sqlite"
CELERY_RESULT_BACKEND = "db+sqlite:///celery.sqlite"
Run Code Online (Sandbox Code Playgroud)
现在可以了。
| 归档时间: |
|
| 查看次数: |
7487 次 |
| 最近记录: |