コード例 #1
0
ファイル: mpdpool.py プロジェクト: goosemo/theory
 def do_get(self):
     try:
         return self._conns[thread.get_ident()]
     except KeyError:
         c = self.create_connection()
         self._conns[thread.get_ident()] = c
         if len(self._conns) > self.size:
             self.cleanup()
         return c
コード例 #2
0
ファイル: mpdpool.py プロジェクト: goosemo/theory
    def connect(self):
        if not self._use_threadlocal:
            return _ConnectionFairy(self).checkout()

        try:
            return self._threadconns[thread.get_ident()].checkout()
        except (KeyError,ConnectionClosed):
            agent = _ConnectionFairy(self)
            self._threadconns[thread.get_ident()] = agent
            return agent.checkout()
コード例 #3
0
ファイル: mpdpool.py プロジェクト: goosemo/theory
 def status(self):
     return "SingletonThreadPool id:%d thread:%d size: %d" % (id(self), thread.get_ident(), len(self._conns))
コード例 #4
0
ファイル: mpdpool.py プロジェクト: goosemo/theory
 def dispose_local(self):
     try:
         del self._conns[thread.get_ident()]
     except KeyError:
         pass
コード例 #5
0
ファイル: mpdpool.py プロジェクト: goosemo/theory
 def return_conn(self, record):
     if self._use_threadlocal and thread.get_ident() in self._threadconns:
         del self._threadconns[thread.get_ident()]
     self.do_return_conn(record)