def __init__(self, brightsideConnection: BrightsideConnection, brightsideConfiguration: BrightsideConsumerConfiguration, exchange: Exchange, broker_connection: BrokerConnection, queue: Queue, logger): # we run ArameConsumer constructor logic explicitly here, # since ArameConsumer.__init__ doesn't get invoked (as its mixed in) self.brightsideConnection = brightsideConnection self._exchange = exchange self._routing_key = brightsideConfiguration.routing_key self._amqp_uri = brightsideConnection.amqp_uri self._queue_name = brightsideConfiguration.queue_name self._routing_key = brightsideConfiguration.routing_key self._prefetch_count = brightsideConfiguration.prefetch_count self._is_durable = brightsideConfiguration.is_durable self._message_factory = ArameMessageFactory() self._logger = logger or logging.getLogger(__name__) self._conn = None self._is_long_running_handler = brightsideConfiguration.is_long_runing_handler self._queue = queue self._msg = None # Kombu Message self._message = None # Brightside Message self.queue = queue self.logger = logger self.queues = [self.queue] self.messageQueue = MessageQueue() self.connection = broker_connection # sets ConsumerMixin.connection ! self._establish_connection(self.connection) # a Kombu Connection self._establish_channel() self._establish_consumer() Thread(target=self.run_tasks).start()
def __init__(self, connection: Connection, configuration: BrightsideConsumerConfiguration, logger: logging.Logger=None) -> None: self._exchange = Exchange(connection.exchange, type=connection.exchange_type, durable=connection.is_durable) self._routing_key = configuration.routing_key self._amqp_uri = connection.amqp_uri self._queue_name = configuration.queue_name self._routing_key = configuration.routing_key self._prefetch_count = configuration.prefetch_count self._is_durable = configuration.is_durable self._heartbeat = connection.heartbeat self._connect_timeout = connection.connect_timeout self._message_factory = ArameMessageFactory() self._logger = logger or logging.getLogger(__name__) self._conn = None consumer_arguments = {} if configuration.is_ha is True: consumer_arguments = {"x-ha-policy": "all"} self._is_long_running_handler = configuration.is_long_runing_handler self._queue = Queue(self._queue_name, exchange=self._exchange, routing_key=self._routing_key, durable=self._is_durable, consumer_arguments=consumer_arguments) self._msg = None # Kombu Message self._message = None # Brightside Message self._establish_connection(BrokerConnection(hostname=self._amqp_uri, connect_timeout=self._connect_timeout, heartbeat=self._heartbeat)) self._establish_channel() self._establish_consumer()
def __init__(self, connection: Connection, configuration: BrightsideConsumerConfiguration, logger: logging.Logger = None) -> None: self._exchange = Exchange(connection.exchange, type=connection.exchange_type, durable=connection.is_durable) self._routing_key = configuration.routing_key self._amqp_uri = connection.amqp_uri self._queue_name = configuration.queue_name self._routing_key = configuration.routing_key self._prefetch_count = configuration.prefetch_count self._is_durable = configuration.is_durable self._message_factory = ArameMessageFactory() self._logger = logger or logging.getLogger(__name__) self._queue = Queue(self._queue_name, exchange=self._exchange, routing_key=self._routing_key, durable=self._is_durable) self._msg = None # Kombu Message self._message = None # Brightside Message