Пилоны с Mongodb - PullRequest
       7

Пилоны с Mongodb

3 голосов
/ 25 декабря 2010

Согласно документации pymongo,

PyMongo is thread-safe and even provides built-in connection pooling for threaded applications.

Обычно я запускаю свое соединение с mongodb следующим образом:

import pymongo
db = pymongo.Connection()['mydb']

, а затем я могу использовать его как db.users.find{'name': ..}) ...

Значит ли это, что я могу поместить две строки в lib / apps_global.py, например:

class Globals(object):

    def __init__(self, config):
        self.cache = CacheManager(**parse_cache_config_options(config))
        import pymongo
        self.db_conn = pymongo.connection()
        self.db = self.db_conn['simplesite']

, а затем вмой базовый контроллер:

class BaseController(WSGIController):

    def __call__(self, environ, start_response):
        """Invoke the Controller"""
        # WSGIController.__call__ dispatches to the Controller method
        # the request is routed to. This routing information is
        # available in environ['pylons.routes_dict']
        ret = WSGIController.__call__(self, environ, start_response)

        # Don't forget to release the thread for mongodb
        app_globals.db_conn.end_request()
        return ret

И начать вызывать переменную db app_global во всех моих контроллерах?Я надеюсь, что это действительно так просто.

1 Ответ

1 голос
/ 05 апреля 2011

Бен Бангерт, автор Pylons, написал свой блог для mongodb.Вы можете просматривать его исходный код онлайн .

...