我不能使用芹菜任务

时间:2018-11-08 08:04:32

标签: python python-3.x celery

我有以下文件夹:

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

首先,我必须启动芹菜工作者。

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()

芹菜工人工作正常,但是当我要启动foo_launcher.py时,由于foo_launcher.py取决于tasks.py,而tasks.py取决于{{1 }}。这是问题所在。我需要导入celery.py文件而不是celery库。

所以,这是celery.py

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

我不知道该怎么办。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

celery.pycelery模块具有相同的名称。

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

答案 1 :(得分:0)

确保您有 // icon after text ElevatedButton.icon( icon: Text('Icon Button'), label: Icon(Icons.arrow_forward, size: 16), onPressed: () => {}, ), 文件。

然后从上面的一个目录中午餐 python.exe 并导入 tasks/foo_luncher.py -

__init__.py
  • projectdirectory 是包含 cd .. python >> import projectdirectory.tasks 文件的目录。