Flask 饲养错误:当我使用装有芹菜的烧瓶时未登记

Flask 饲养错误:当我使用装有芹菜的烧瓶时未登记,flask,celery,Flask,Celery,说明 嗨,我在学芹菜,我读了一篇博客。>> 所以我写了一个小程序来运行芹菜烧瓶 代码 app.\uuuu init\uuuuuu.py from flask import Flask from celery import Celery celery = Celery(__name__, broker='amqp://127.0.0.1:5672/') def create_app(): app = Flask(__name__) @celery.task def

说明

嗨,我在学芹菜,我读了一篇博客。>>

所以我写了一个小程序来运行芹菜烧瓶

代码

app.\uuuu init\uuuuuu.py

from flask import Flask
from celery import Celery

celery = Celery(__name__, broker='amqp://127.0.0.1:5672/')

def create_app():
    app = Flask(__name__)

    @celery.task
    def add(x, y):
        print x+y

    @app.route('/')
    def index():
        add.delay(1, 3)
        return 'Hello World!'

    return app
manage.py

from app import create_app

app = create_app()

if __name__ == '__main__':
    app.run()
芹菜1.py

from app import celery, create_app()

f_app = create_app()
f_app.app_context().push()
芹菜2.py

from app import celery, create_app

@celery.task
def foo():
    print 'Balabala...'

f_app = create_app()
f_app.app_context().push()
问题

当我运行Flask服务器和芹菜时,使用:

celery -A celery_worker_1 worker -l
芹菜引发了未注册的错误:

Traceback (most recent call last):   File "D:\Python27\lib\site-packages\billiard\pool.py", line 363, in workloop
    result = (True, prepare_result(fun(*args, **kwargs)))   File "D:\Python27\lib\site-packages\celery\app\trace.py", line 349, in
_fast_trace_task
    return _tasks[task].__trace__(uuid, args, kwargs, request)[0]   File "D:\Python27\lib\site-packages\celery\app\registry.py", line 26, in __missing__
    raise self.NotRegistered(key) NotRegistered: 'app.add'
但不是使用芹菜,而是:

celery -A celery_worker_2 worker -l info
任务将正确运行:

[2015-11-28 15:45:56,299: INFO/MainProcess] Received task: app.add[cbe5e1d6-c5df-4141-9db1-e6313517c202]
[2015-11-28 15:45:56,302: WARNING/Worker-1] 4
[2015-11-28 15:45:56,371: INFO/MainProcess] Task app.add[cbe5e1d6-c5df-4141-9db1-e6313517c202] succeeded in 0.0699999332428s: None
为什么芹菜不能用芹菜工人1的代码正确运行

附言:我的英语不好,如果你不懂,你可以向我指出,我想再描述一下。谢谢


不确定,但是为什么在
芹菜\u worker\u 1.py
的第一行有
创建\u appp()