Frage

I'm wondering is it possible to set the max number of messages in the queue?

Let's say I want to have no more than 100 msgs in queue Foo, is it possible to do?

War es hilfreich?

Lösung

Yes, it is possible.

From official documentation

The maximum length of a queue can be limited to a set number of messages by supplying the x-max-length queue declaration argument with a non-negative integer value.

AFAIK, pika's channel.queue_declare has queue_declare has arguments argument which is definitely what you want.

Andere Tipps

Do it like this and be happy!

import pika


QUEUE_SIZE = 5

connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()

channel.queue_declare(
    queue='ids_queue',
    arguments={'x-max-length': QUEUE_SIZE}
)

Here in arguments you will also need to track queue overflow behaviour for your queue.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top