首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >无法设置芹菜结果后端

无法设置芹菜结果后端
EN

Stack Overflow用户
提问于 2019-01-21 20:04:47
回答 1查看 985关注 0票数 2

我的第一个Celery程序看起来像这样--我基本上遵循getting started instructions

代码语言:javascript
代码运行次数:0
运行
复制
from celery import Celery

import time

app = Celery(
    "celery_test",
    broker="redis://",
    backend="redis://"
)

@app.task
def greet(who):
    print(f"Hello {who}")

@app.task
def add(x, y):
    return x + y

@app.task
def long(sleep_time):
    time.sleep(sleep_time)

尝试通过backend='redis://'设置结果后端,在调用celery -A celery_test worker --loglevel=info时会出现以下语法错误,这看起来像是Celery中的错误:

代码语言:javascript
代码运行次数:0
运行
复制
[2019-01-21 12:58:59,457: CRITICAL/MainProcess] Unrecoverable error: SyntaxError('invalid syntax', ('/Users/cls/anaconda3/lib/python3.7/site-packages/celery/backends/redis.py', 22, 19, 'from . import async, base\n'))
Traceback (most recent call last):
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/kombu/utils/objects.py", line 42, in __get__
    return obj.__dict__[self.__name__]
KeyError: 'backend'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/worker/worker.py", line 205, in start
    self.blueprint.start(self)
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/bootsteps.py", line 115, in start
    self.on_start()
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/apps/worker.py", line 139, in on_start
    self.emit_banner()
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/apps/worker.py", line 154, in emit_banner
    ' \n', self.startup_info(artlines=not use_image))),
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/apps/worker.py", line 217, in startup_info
    results=self.app.backend.as_uri(),
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/kombu/utils/objects.py", line 44, in __get__
    value = obj.__dict__[self.__name__] = self.__get(obj)
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/app/base.py", line 1196, in backend
    return self._get_backend()
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/app/base.py", line 914, in _get_backend
    self.loader)
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/app/backends.py", line 70, in by_url
    return by_name(backend, loader), url
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/app/backends.py", line 50, in by_name
    cls = symbol_by_name(backend, aliases)
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/kombu/utils/imports.py", line 56, in symbol_by_name
    module = imp(module_name, package=package, **kwargs)
  File "/Users/cls/anaconda3/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 724, in exec_module
  File "<frozen importlib._bootstrap_external>", line 860, in get_code
  File "<frozen importlib._bootstrap_external>", line 791, in source_to_code
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/backends/redis.py", line 22
    from . import async, base
                      ^
SyntaxError: invalid syntax

我想确认这确实是一个bug,而不是我的配置问题。此外,我更愿意开始使用异步编程,而不是编写错误报告,所以如果能解决这个问题,我将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-22 00:04:18

芹菜似乎还不能在python3.7中工作,只能在python3.6或更低版本中工作。您可以在trouble in setting celery tasks backend in Python中找到解决方法

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54289607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档