amqp-consume - Consume messages from a queue on an AMQP server



amqp-consume − Consume messages from a queue on an AMQP server


amqp−consume [OPTION...] {command} [args...]


amqp−consume consumes messages from a queue on an AMQP server. For each message that arrives, a receiving command is run, with the message body supplied to it on standard input.

amqp−consume can consume from an existing queue, or it can create a new queue. It can optionally bind the queue to an existing exchange.

By default, messages will be consumed with explicit acknowledgements. A message will only be acknowledged if the receiving command exits successfully (i.e. with an exit code of zero). The AMQP “no ack” mode (a.k.a. auto−ack mode) can be enable with the −A option.


−q, −−queue=queue name

The name of the queue to consume messages from.

If the −−queue option is omitted, the AMQP server will assign a unique name to the queue, and that server−assigned name will be dixsplayed on stderr; this case implies that an exclusive queue should be declared.

−e, −−exchange=exchange name

Specifies that an exclusive queue should be declared, and bound to the given exchange. The specified exchange should already exist unless the −−exchange−type option is used to request the creation of an exchange.

−r, −−routing−key=routing key

The routing key for binding. If omitted, an empty routing key is assumed.

−d, −−declare

Forces an exclusive queue to be declared, even when it otherwise would not be. That is, when a queue name is specified with the −−queue option, but no binding to an exchange is requested with the −−exchange option. Note: this option is deprecated and may be removed in a future version, use the −−exclusive option to explicitly declare an exclusive queue.

−x, −−exclusive

Declared queues are non−exclusive by default, this option forces declaration of exclusive queues.

−A, −−no−ack=routing key

Enable “no ack” mode: The AMQP server will unconditionally acknowledge each message that is delivered, regardless of whether the target command exits successfully or not.

−c, −−count=limit

Stop consuming after the given number of messages have been received.

−p, −−prefetch−count=limit

Request the server to only send limit messages at a time.

If any value was passed to −−count, the value passed to −−prefetch−count should be smaller than that, or otherwise it will be ignored.

If −A/−−no−ack is passed, this option has no effect.


Consume messages from an existing queue “myqueue”, and output the message bodies on standard output via cat:

$ amqp−publish −q myqueue cat

Bind a new exclusive queue to an exchange “myexch”, and send each message body to the script myscript, automatically acknowledging them on the server:

$ amqp−consume −A −e myexch ./myscript


librabbitmq-tools(7) describes connection−related options common to all the RabbitMQ C Client tools.


The RabbitMQ Team <<[email protected]>>

Updated 2024-01-29 - |