Source code for smug.initializers.rabbitmq_initializer

from connection_manager import ConnectionManager


[docs]class RabbitMQInitializer: def __init__(self, connection_manager=ConnectionManager()): self.connection_manager = connection_manager self.exchange_initialize() self.channel_initialize()
[docs] def channel_initialize(self): for queue in self.connection_manager.get_queues().values(): if isinstance(queue, dict): name = queue['name'] exchange = queue['exchange'] result = self.connection_manager.channel.queue_declare(queue=name) self.connection_manager.channel.queue_bind(exchange=exchange, queue=result.method.queue) else: durable = self.connection_manager.get_queue_name( 'save') in queue or self.connection_manager.get_queue_name('latest') in queue self.connection_manager.channel.queue_declare(queue=queue, durable=durable)
[docs] def exchange_initialize(self): for exchange in self.connection_manager.get_exchanges().values(): self.connection_manager.channel.exchange_declare(exchange=exchange['name'], exchange_type=exchange['type'])