gpt4 book ai didi

python - Flask 应用上下文和 celery 集成

转载 作者:太空宇宙 更新时间:2023-11-03 17:46:30 24 4
gpt4 key购买 nike

将 celery 与 Flask 应用程序集成时,celery 是否需要了解 Flask 应用程序上下文?

我可以做这样的事情吗:

import celery from Celery

celery = Celery()

@task
def mytask():

或者我必须这样做:

def make_celery(app=None):
app = app or create_app(os.getenv('FLASK_CONFIG') or 'default')
celery = Celery(__name__, broker=app.config.CELERY_BROKER_URL)
celery.conf.update(app.conf)
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

然后运行 ​​celery = make_celery(app)?

最佳答案

如果您正在做需要它的事情(数据库查询等),Celery 任务只需要了解应用程序上下文。否则你可以直接使用 Celery。

关于python - Flask 应用上下文和 celery 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29723408/

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