Skip to content
Draft
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "pgmq"
version = "1.0.2"
version = "1.0.3"
description = "Python client for the PGMQ Postgres extension."
readme = "README.md"
license = "Apache-2.0"
Expand Down
10 changes: 7 additions & 3 deletions src/pgmq/queue.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from dataclasses import dataclass, field
from typing import Optional, List, Union
from collections.abc import Callable
from typing import Optional, List, Union, Any
from psycopg.types.json import Jsonb
from psycopg_pool import ConnectionPool
import os
Expand All @@ -21,7 +22,7 @@ class PGMQueue:
delay: int = 0
vt: int = 30
pool_size: int = 10
kwargs: dict = field(default_factory=dict)
kwargs: Union[dict, Callable[[], dict[str, Any]]] = field(default_factory=dict)
verbose: bool = False
log_filename: Optional[str] = None
init_extension: bool = True
Expand All @@ -37,7 +38,10 @@ def __post_init__(self) -> None:
user={self.username}
password={self.password}
"""
self.pool = ConnectionPool(conninfo, open=True, **self.kwargs)
if callable(self.kwargs):
self.pool = ConnectionPool(conninfo, open=True, kwargs=self.kwargs)
else:
self.pool = ConnectionPool(conninfo, open=True, **self.kwargs)
Comment thread
rcleveng marked this conversation as resolved.
self._initialize_logging()
if self.init_extension:
self._initialize_extensions()
Expand Down
2 changes: 1 addition & 1 deletion uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.