【发布时间】:2014-03-03 21:12:59
【问题描述】:
我正在尝试建立并运行这个基本示例:
http://flask.pocoo.org/docs/patterns/celery/
所以文章建议把它放在一个任务模块中:
from celery import Celery
def make_celery(app):
celery = Celery(app.import_name, 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 flask import Flask
flask_app = Flask(__name__)
flask_app.config.update(
CELERY_BROKER_URL='redis://localhost:6379',
CELERY_RESULT_BACKEND='redis://localhost:6379'
)
celery = make_celery(flask_app)
@celery.task()
def add_together(a, b):
return a + b
但到目前为止,它只是没有意义去哪里。
谁能提供一个简单的 Flask-Celery 3 工作示例。
问候,
卡尔
【问题讨论】:
-
您在尝试此设置时遇到了哪些错误?
-
好的,所以我找到了这个github.com/thrisp/flask-celery-example。现在事情变得更有意义了。