--- /dev/null
+"""
+psycopg3 connection pool package
+"""
+
+# Copyright (C) 2021 The Psycopg Team
+
+from .pool import ConnectionPool, PoolClosed, PoolTimeout
+
+__all__ = ["ConnectionPool", "PoolClosed", "PoolTimeout"]
"""
-psycopg3 connection pool
+psycopg3 synchronous connection pool
"""
# Copyright (C) 2021 The Psycopg Team
from contextlib import contextmanager
from collections import deque
-from . import errors as e
-from .pq import TransactionStatus
-from ._sched import Scheduler
-from .connection import Connection
+from .. import errors as e
+from ..pq import TransactionStatus
+from ..connection import Connection
-WORKER_TIMEOUT = 60.0
+from .sched import Scheduler
logger = logging.getLogger(__name__)
+WORKER_TIMEOUT = 60.0
+
class PoolTimeout(e.OperationalError):
pass
from heapq import heappush, heappop
from typing import Any, Callable, List, Optional, NamedTuple
-logger = logging.getLogger("psycopg3.sched")
+logger = logging.getLogger(__name__)
class Task(NamedTuple):
@pytest.mark.slow
def test_shrink(dsn, monkeypatch):
- orig_run = pool.ShrinkPool._run
+ orig_run = pool.pool.ShrinkPool._run
results = []
def run_hacked(self, pool):
n1 = pool._nconns
results.append((n0, n1))
- monkeypatch.setattr(pool.ShrinkPool, "_run", run_hacked)
+ monkeypatch.setattr(pool.pool.ShrinkPool, "_run", run_hacked)
p = pool.ConnectionPool(dsn, minconn=2, maxconn=4, max_idle=0.2)
assert p.max_idle == 0.2
def test_reconnect(proxy, caplog, monkeypatch):
caplog.set_level(logging.WARNING, logger="psycopg3.pool")
- assert pool.AddConnection.INITIAL_DELAY == 1.0
- assert pool.AddConnection.DELAY_JITTER == 0.1
- monkeypatch.setattr(pool.AddConnection, "INITIAL_DELAY", 0.1)
- monkeypatch.setattr(pool.AddConnection, "DELAY_JITTER", 0.0)
+ assert pool.pool.AddConnection.INITIAL_DELAY == 1.0
+ assert pool.pool.AddConnection.DELAY_JITTER == 0.1
+ monkeypatch.setattr(pool.pool.AddConnection, "INITIAL_DELAY", 0.1)
+ monkeypatch.setattr(pool.pool.AddConnection, "DELAY_JITTER", 0.0)
proxy.start()
p = pool.ConnectionPool(proxy.client_dsn, minconn=1, setup_timeout=2.0)