gpt4 book ai didi

python - 如何使用 Flask 应用程序工厂模式实现 Celery

转载 作者:行者123 更新时间:2023-12-04 01:00:31 24 4
gpt4 key购买 nike

我在使用 python flask application factory app 实现 celery 时遇到问题

我打算从应用程序初始化文件中创建一个 Celery 应用程序的实例,如下所示:

from celery import Celery
celery = Celery('myapp', broker='redis://localhost:6379/0', backend='redis://localhost:6379/0')

调用时我不能使用其他蓝图中的 Celery。

最佳答案

def init_celery(app):
celery = Celery()
celery.conf.broker_url = app.config['CELERY_BROKER_URL']
celery.conf.result_backend = app.config['CELERY_RESULT_BACKEND']
celery.conf.update(app.config)

class ContextTask(celery.Task):
"""Make celery tasks work with Flask app context"""
def __call__(self, *args, **kwargs):
with app.app_context():
return self.run(*args, **kwargs)

celery.Task = ContextTask
return celery

create_app时初始化celery:

init_celery(app)

this Flask cookiecutter 中了解 celery 是如何实现的

关于python - 如何使用 Flask 应用程序工厂模式实现 Celery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58540194/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com