Exemple #1
0
    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()
Exemple #2
0
    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()
Exemple #3
0
 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