记一次celery使用过程中丢失上下文问题 问题场景 项目中需要在celery的异步任务中连接其他服务的celery任务队列,并向所连接的celery中发送task任务。 这样使用的结果就是:需要生成两个不同的celery实例,在第一个celery实例中需要使用flask中的上下文,并进行上下文的生成,在调用完另一个celery实例后, 在worker运行了标记的task最大任务销毁重启之后;会发生在需要上下文的celery异步任务中报没有flask上下文的错误。例如如下逻辑 from project import create_app() # 封装的flask的创建app过程 from celery import Celery from project.task import celery_config celery_app = Celery(__name__, broker=celery_config.CELERY_BROKER_URL) # 程序中默认celery_app celery_app.config_from_object('project.task.celery_config') @celery_app.task(name='example_task') def example_task(**kwargs): from project import create