Правильное расположение для установки соединения MySQLdb в Pylons: app_globals?Поток безопасности? - PullRequest
2 голосов
/ 28 октября 2010

Я хочу использовать MySQLdb в Pylons, но не могу понять, где на самом деле подключиться. Казалось бы, сделать подключение в app_globals.py было бы удобно:

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

Тогда контроллеры могут получить доступ к БД через глобальные переменные. Тем не менее, это, похоже, приводит к проблемам с ошибками «MySQL исчез» и сбоям при одновременных запросах, поэтому я считаю, что это плохо из-за безопасности потоков.

Каков наилучший способ сделать это? Должен ли каждый контроллер открывать, а затем закрывать соединение MySQL? Спасибо!

1 Ответ

1 голос
/ 03 ноября 2010

Подводя итог комментариям к вашему вопросу: вам, вероятно, следует использовать функции SQLAlchemy, отличные от ORM, такие как Язык выражений SQL и API движка , каждый из которых позволяет вам по-прежнему получать некоторые из преимущества SQLAlchemy без необходимости проходить весь путь до ORM-сущности.

...