Skip to content

Commit 8fdbc43

Browse files
authored
Merge pull request #31 from Steve-Bupyc/extra-params
2 parents ea62465 + b1c71ba commit 8fdbc43

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

taskiq_aio_pika/broker.py

+10
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ def __init__( # noqa: WPS211
5252
exchange_type: ExchangeType = ExchangeType.TOPIC,
5353
max_priority: Optional[int] = None,
5454
delayed_message_exchange_plugin: bool = False,
55+
declare_exchange_kwargs: Optional[Dict[Any, Any]] = None,
56+
declare_queues_kwargs: Optional[Dict[Any, Any]] = None,
5557
**connection_kwargs: Any,
5658
) -> None:
5759
"""
@@ -80,6 +82,8 @@ def __init__( # noqa: WPS211
8082
:param max_priority: maximum priority value for messages.
8183
:param delayed_message_exchange_plugin: turn on or disable
8284
delayed-message-exchange rabbitmq plugin.
85+
:param declare_exchange_kwargs: additional from AbstractChannel.declare_exchange
86+
:param declare_queues_kwargs: additional from AbstractChannel.declare_queue
8387
:param connection_kwargs: additional keyword arguments,
8488
for connect_robust method of aio-pika.
8589
"""
@@ -92,7 +96,9 @@ def __init__( # noqa: WPS211
9296
self._exchange_type = exchange_type
9397
self._qos = qos
9498
self._declare_exchange = declare_exchange
99+
self._declare_exchange_kwargs = declare_exchange_kwargs or {}
95100
self._declare_queues = declare_queues
101+
self._declare_queues_kwargs = declare_queues_kwargs or {}
96102
self._queue_name = queue_name
97103
self._routing_key = routing_key
98104
self._max_priority = max_priority
@@ -135,6 +141,7 @@ async def startup(self) -> None: # noqa: WPS217
135141
await self.write_channel.declare_exchange(
136142
self._exchange_name,
137143
type=self._exchange_type,
144+
**self._declare_exchange_kwargs,
138145
)
139146

140147
if self._delayed_message_exchange_plugin:
@@ -178,6 +185,7 @@ async def declare_queues(
178185
"""
179186
await channel.declare_queue(
180187
self._dead_letter_queue_name,
188+
**self._declare_queues_kwargs,
181189
)
182190
args: "Dict[str, Any]" = {
183191
"x-dead-letter-exchange": "",
@@ -188,6 +196,7 @@ async def declare_queues(
188196
queue = await channel.declare_queue(
189197
self._queue_name,
190198
arguments=args,
199+
**self._declare_queues_kwargs,
191200
)
192201
if self._delayed_message_exchange_plugin:
193202
await queue.bind(
@@ -201,6 +210,7 @@ async def declare_queues(
201210
"x-dead-letter-exchange": "",
202211
"x-dead-letter-routing-key": self._queue_name,
203212
},
213+
**self._declare_queues_kwargs,
204214
)
205215

206216
await queue.bind(

0 commit comments

Comments
 (0)