Skip to content

Commit

Permalink
Make RabbitMQ exchanges durable
Browse files Browse the repository at this point in the history
Fixes #853
As long as we do not have any session-related data,
all exchanges and queues should be durable to avoid
data loss on server restart.
  • Loading branch information
Brutus5000 committed Oct 27, 2021
1 parent 88778a3 commit e552c8b
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions server/message_queue_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ async def _connect(self) -> None:
self._logger.debug("Connected to RabbitMQ %r", self._connection)

async def declare_exchange(
self, exchange_name: str, exchange_type: ExchangeType = ExchangeType.TOPIC
self, exchange_name: str, exchange_type: ExchangeType = ExchangeType.TOPIC, durable: bool = True
) -> None:
await self.initialize()
if not self._is_ready:
Expand All @@ -96,13 +96,13 @@ async def declare_exchange(
)
return

await self._declare_exchange(exchange_name, exchange_type)
await self._declare_exchange(exchange_name, exchange_type, durable)

async def _declare_exchange(
self, exchange_name: str, exchange_type: ExchangeType
self, exchange_name: str, exchange_type: ExchangeType, durable: bool = True
) -> None:
new_exchange = await self._channel.declare_exchange(
exchange_name, exchange_type
exchange_name, exchange_type, durable
)

self._exchanges[exchange_name] = new_exchange
Expand Down

0 comments on commit e552c8b

Please sign in to comment.