在Pylons中设置MySQLdb连接的正确位置:app_globals?线程安全?

时间:2010-10-28 08:05:36

标签: python mysql pylons

我想在Pylons中使用MySQLdb,但无法确定实际连接的位置。似乎在app_globals.py中建立连接会很方便:

class Globals(object):
    def __init__(self):
        self.db = MySQLdb.connect()

然后控制器可以通过全局变量访问数据库。但是,这似乎会导致“MySQL已经消失”的问题,并且会因并发请求而崩溃,所以我认为这很糟糕,因为线程安全。

最好的方法是什么?每个控制器应该打开然后关闭MySQL连接吗?谢谢!

1 个答案:

答案 0 :(得分:1)

总结对您的问题的评论:您应该使用SQLAlchemy的非ORM功能,例如SQL Expression Languageengine API,这些功能使您仍然可以获得SQLAlchemy的一些好处而无需一直到ORM-ness。