Flask工厂模式下与Celery的结合

本文主要解决的问题是Celery依赖Flask的appcontext,但是在Flask工厂模式下会出现循环import的问题。

 

在工厂函数取得flask app的后边加一句,一共两句。

flask_app = create_app(FLASK_CONFIG) # 工厂函数得到flask app

flask_app.app_context().push() # 推一个appcontext

之后Celery就会处于Flask的appcontext内,不用在做其他处理了。@celery_app.task定义celery task函数,Flask模块内直接import即可。

 

有兴趣的话,可以去参考https://github.com/miguelgrinberg/flasky-with-celery/

你可能感兴趣的:(Flask,Celery)