mirror of
https://github.com/psycopg/psycopg2.git
synced 2025-06-29 17:23:07 +03:00
Update methods of ThreadedConnectionPool
Updated methods of the ThreadedConnectionPool class to use the elegant context manager syntax.
This commit is contained in:
parent
e9a62bf418
commit
766f06f290
17
lib/pool.py
17
lib/pool.py
|
@ -173,7 +173,7 @@ class ThreadedConnectionPool(AbstractConnectionPool):
|
||||||
Usually these are passed to the underlying ``connect`` method
|
Usually these are passed to the underlying ``connect`` method
|
||||||
of psycopg2
|
of psycopg2
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import threading
|
import threading
|
||||||
AbstractConnectionPool.__init__(
|
AbstractConnectionPool.__init__(
|
||||||
self, minconn, maxconn, *args, **kwargs)
|
self, minconn, maxconn, *args, **kwargs)
|
||||||
|
@ -181,24 +181,15 @@ class ThreadedConnectionPool(AbstractConnectionPool):
|
||||||
|
|
||||||
def getconn(self, key=None):
|
def getconn(self, key=None):
|
||||||
"""Get a free connection and assign it to 'key' if not None."""
|
"""Get a free connection and assign it to 'key' if not None."""
|
||||||
self._lock.acquire()
|
with self._lock:
|
||||||
try:
|
|
||||||
return self._getconn(key)
|
return self._getconn(key)
|
||||||
finally:
|
|
||||||
self._lock.release()
|
|
||||||
|
|
||||||
def putconn(self, conn=None, key=None, close=False):
|
def putconn(self, conn=None, key=None, close=False):
|
||||||
"""Put away an unused connection."""
|
"""Put away an unused connection."""
|
||||||
self._lock.acquire()
|
with self._lock:
|
||||||
try:
|
|
||||||
self._putconn(conn, key, close)
|
self._putconn(conn, key, close)
|
||||||
finally:
|
|
||||||
self._lock.release()
|
|
||||||
|
|
||||||
def closeall(self):
|
def closeall(self):
|
||||||
"""Close all connections (even the one currently in use.)"""
|
"""Close all connections (even the one currently in use.)"""
|
||||||
self._lock.acquire()
|
with self._lock:
|
||||||
try:
|
|
||||||
self._closeall()
|
self._closeall()
|
||||||
finally:
|
|
||||||
self._lock.release()
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user