与Celery Task共享Pyramid的数据库会话

Vin*_*ano 1 python celery celery-task pyramid

在仅实例化数据库引擎一次的情况下,在Pyramid应用程序和Celery任务之间共享SQLAlchemy会话的最佳方法是什么?我在这里看了这个答案,但是,我不想创建另一个引擎(也恰好是全局引擎),因为这不是很干.此外,在Pyramid应用程序启动期间,应用程序.ini设置被传递到main函数中,因此我希望能够使用此方法配置引擎,但也可以将其用于所有Celery任务.当Celery与Pyramid集成时,或许我会采用错误的方式解决问题?谢谢你的帮助!

Mic*_*kel 6

首先使用消息代理(celery)的主要动机是您的Web应用程序和工作程序不在同一进程中运行.因此,我建议您稍微备份并将您的系统视为不共享相同数据库连接的单独进程.