Как я могу проверить, было ли у меня сообщение на RabbitMQ? (Уведомление о повторном запросе) - PullRequest
0 голосов
/ 27 мая 2020

Ребята! Я новичок в RabbitMQ.

Я реализовал очередь для отправки / получения сообщения с помощью RabbitMQ. Но, кстати, процесс проверки сообщений по-прежнему выполняется постоянно. Я хочу реализовать функцию, чтобы проверять и отправлять мне уведомление, когда у меня появляется новое сообщение.

Например:

Предположим, что мы живем на сборке, и когда почтальон оставляет одно сообщение, он разговаривает со мной, и я получу его позже.

Мне нужно реализовать следующее: система отправляет мне уведомление, когда у меня появляется новое сообщение, поэтому мне не нужно все время проверять, поэтому я могу сэкономить память.

У RabbitMQ есть такая функция? Я использую Python для их подключения.

Вот код, который я написал:

def receive(self, timeout=None):

    if self.channel is None or self.channel.is_closed:
        self.tracer.warn('Channel is closed! Trying to connect before emit message')
        self._connect()

    if self.channel.is_open:
        body = None
        for (method, properties, body) in self.channel.consume(
                queue=self.name,
                auto_ack=self.consumer_conf['auto_ack'],
                exclusive=self.consumer_conf['exclusive'],
                inactivity_timeout=timeout):

            if method is None:
                self.tracer.warn('Timeout on receive message')
            else:
                self.tracer.debug('Received message...')
                self.channel.basic_ack(method.delivery_tag)
            break
...