Azi*_*ima 7 python celery celery-task
我有一个以下项目目录:
azima:
__init.py
main.py
tasks.py
Run Code Online (Sandbox Code Playgroud)
任务.py
from .main import app
@app.task
def add(x, y):
return x + y
@app.task
def mul(x, y):
return x * y
@app.task
def xsum(numbers):
return sum(numbers)
Run Code Online (Sandbox Code Playgroud)
主要.py
from celery import Celery
app = Celery('azima', backend='redis://localhost:6379/0', broker='redis://localhost:6379/0', include=['azima.tasks'])
# Optional configuration, see the application user guide.
app.conf.update(
result_expires=3600,
)
if __name__ == '__main__':
app.start()
Run Code Online (Sandbox Code Playgroud)
当我运行命令来初始化 celery 工作人员时,出现以下错误:
(azima_venv) brightseid@darkseid:~$ celery -A azima worker -l INFO
Usage: celery [OPTIONS] COMMAND [ARGS]...
Error: Invalid value for '-A' / '--app':
Unable to load celery application.
Module 'azima' has no attribute 'celery'
Run Code Online (Sandbox Code Playgroud)
但是当我重命名main.py为celery.py之前的名称时就没有问题了。
我在这里缺少什么?
有两种方法
app到azima/__init__.pyfrom azima.main import app
celery = app # you can omit this line
Run Code Online (Sandbox Code Playgroud)
您可以省略最后一行,celery 将从导入中识别 celery 应用程序。然后你打电话celery -A azima worker -l INFO
celery -A azima.main worker -l INFO| 归档时间: |
|
| 查看次数: |
19680 次 |
| 最近记录: |