我需要有关如何使用烧瓶应用工厂模式实施芹菜的帮助

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我需要有关如何使用烧瓶应用工厂模式实施芹菜的帮助相关的知识,希望对你有一定的参考价值。

我在使用python flask应用程序工厂应用程序实现celery时遇到问题

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

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

被召唤时,我无法使用其他蓝图中的芹菜。...

[这已经是我几天来一直遇到的瓶颈。

答案
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时初始化芹菜:

init_celery(app)

了解在this Flask cookiecutter中如何实现芹菜>

以上是关于我需要有关如何使用烧瓶应用工厂模式实施芹菜的帮助的主要内容,如果未能解决你的问题,请参考以下文章

如何在app工厂模式中管理额外的模块?

将 pycharm 调试器与烧瓶应用程序工厂一起使用

实施SSL的正确方法是什么?

工厂模式之简单工厂模式

简单工厂模式

有关反射和简单工厂模式的简单实现