gpt4 book ai didi

python - 我无法使用 celery 任务

转载 作者:行者123 更新时间:2023-12-01 08:49:09 25 4
gpt4 key购买 nike

我有以下文件夹:

proj
├── __init__.py
├── celery.py
├── tasks.py
├── foo_launcher.py

首先,我必须启动 celery worker。

celery -A proj worker -l info

celery.py代码:

from __future__ import absolute_import, unicode_literals
from celery import Celery

app = Celery('project', broker='amqp://guest@localhost//', include=['project.tasks'])


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

Celery Worker 工作完美,但是当我要启动 foo_launcher.py 时,我无法使用这些任务,因为 foo_launcher.py 依赖于 tasks.py tasks.py 依赖于 celery.py。问题就在这里。我需要导入 celery.py 文件而不是 celery 库。

所以,这是tasks.py

from  .celery import app #Here Import celery.py not celery library

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

这里foo_launcher.py

from tasks import add

result = add.apply_async((2,2), queue='lopri',coutdown=10)
print(result)

一切显然都是有意义的,但是当我尝试启动 foo_launcher.py 时:

python foo_launcher.py

它向我发出以下错误:

Traceback (most recent call last):
File ".\foo_launcher.py", line 1, in <module>
from tasks import add
File "C:\Users\beca4\Desktop\proj\tasks.py", line 1, in <module>
from .celery import app
ImportError: attempted relative import with no known parent package

我不知道我能做什么。有什么想法吗?

最佳答案

celery.pycelery 模块同名。

最好更改celery.py的文件名,例如mq.py

关于python - 我无法使用 celery 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53203562/

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