gpt4 book ai didi

python - 无法设置 Celery 结果后端

转载 作者:IT王子 更新时间:2023-10-29 06:04:55 25 4
gpt4 key购买 nike

我的第一个 Celery 程序看起来是这样的——我非常关注 getting started instructions :

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 中的错误:

[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

我想确认这确实是一个错误,而不是我的配置问题。此外,我宁愿开始使用异步编程,也不愿开始编写错误报告,因此我们将不胜感激。

最佳答案

celery 似乎还不能在 python 3.7 中使用,只能在 python 3.6 或更低版本中使用。您可以在 trouble in setting celery tasks backend in Python 中找到解决方法

关于python - 无法设置 Celery 结果后端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54289607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com