Flask 芹菜烧瓶
我想用芹菜做我的早餐。因为我正在工厂方法中创建实例,所以无法使用文档()中的示例 init.pyFlask 芹菜烧瓶,flask,celery,python-3.4,Flask,Celery,Python 3.4,我想用芹菜做我的早餐。因为我正在工厂方法中创建实例,所以无法使用文档()中的示例 init.py from celery import Celery from flask import Flask from config import config def create_app(): app = Flask(__name__) app.debug = True app.config.from_object(config) from .main import
from celery import Celery
from flask import Flask
from config import config
def create_app():
app = Flask(__name__)
app.debug = True
app.config.from_object(config)
from .main import main as main_blueprint
app.register_blueprint(main_blueprint)
return app
def make_celery(app = None):
app = app or create_app()
celery = Celery('app', backend=app.config['CELERY_RESULT_BACKEND'], broker=app.config['CELERY_BROKER_URL'])
celery.conf.update(app.config)
TaskBase = celery.Task
class ContextTask(TaskBase):
abstract = True
def __call__(self, *args, **kwargs):
with app.app_context():
return TaskBase.__call__(self, *args, **kwargs)
celery.Task = ContextTask
return celery
from app import make_celery
celery = make_celery()
@celery.task
def add(a, b):
return a + b
from flask import render_template
from app.main import main
from ..tasks import add
@main.route('/', methods=['GET', 'POST'])
def index():
add.delay(5, 3)
return render_template('index.html')
任务。py
from celery import Celery
from flask import Flask
from config import config
def create_app():
app = Flask(__name__)
app.debug = True
app.config.from_object(config)
from .main import main as main_blueprint
app.register_blueprint(main_blueprint)
return app
def make_celery(app = None):
app = app or create_app()
celery = Celery('app', backend=app.config['CELERY_RESULT_BACKEND'], broker=app.config['CELERY_BROKER_URL'])
celery.conf.update(app.config)
TaskBase = celery.Task
class ContextTask(TaskBase):
abstract = True
def __call__(self, *args, **kwargs):
with app.app_context():
return TaskBase.__call__(self, *args, **kwargs)
celery.Task = ContextTask
return celery
from app import make_celery
celery = make_celery()
@celery.task
def add(a, b):
return a + b
from flask import render_template
from app.main import main
from ..tasks import add
@main.route('/', methods=['GET', 'POST'])
def index():
add.delay(5, 3)
return render_template('index.html')
视图.py
from celery import Celery
from flask import Flask
from config import config
def create_app():
app = Flask(__name__)
app.debug = True
app.config.from_object(config)
from .main import main as main_blueprint
app.register_blueprint(main_blueprint)
return app
def make_celery(app = None):
app = app or create_app()
celery = Celery('app', backend=app.config['CELERY_RESULT_BACKEND'], broker=app.config['CELERY_BROKER_URL'])
celery.conf.update(app.config)
TaskBase = celery.Task
class ContextTask(TaskBase):
abstract = True
def __call__(self, *args, **kwargs):
with app.app_context():
return TaskBase.__call__(self, *args, **kwargs)
celery.Task = ContextTask
return celery
from app import make_celery
celery = make_celery()
@celery.task
def add(a, b):
return a + b
from flask import render_template
from app.main import main
from ..tasks import add
@main.route('/', methods=['GET', 'POST'])
def index():
add.delay(5, 3)
return render_template('index.html')
我得到一个:
回溯(最近一次呼叫最后一次):
文件“…lib/python3.4/site packages/芹菜/app/utils.py”,第229行,在find_应用程序中
sym=symbol按名称(应用程序,imp=imp)
文件“…lib/python3.4/site packages/cellery/bin/base.py”,第488行,以符号形式显示
按名称返回符号(名称,imp=imp)
文件“…lib/python3.4/site packages/kombu/utils/_init__.py”,第97行,符号为
如果cls\U名称为else模块,则返回getattr(模块,cls\U名称)
AttributeError:“模块”对象没有“任务”属性
-A参数应该指向要使用的芹菜实例,而不是模块 在这种情况下:
celery -A app.tasks.celery worker
您没有名为
app.py
的文件,因此tasks.py
无法从中导入。你的意思是来自。进口自制芹菜?