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

时间:2013-05-08 21:52:47

标签: python celery pyramid celery-task

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

1 个答案:

答案 0 :(得分:6)

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