amqp-consume1
Consume messages from a queue on an amqp server
Usage
amqp-consume [OPTION ...]
command
[args ...]
Overview
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.
Options
-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
--queueoption, but no binding to an exchange is requested with the--exchangeoption. Note: this option is deprecated and may be removed in a future version, use the--exclusiveoption 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-countshould be smaller than that, or otherwise it will be ignored.If
-A/--no-ackis passed, this option has no effect.
Examples
Consume messages from an existing queue “myqueue”, and output the message bodies on standard output via cat:
$ amqp-consume -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
Releases
8 releases since Debian 7 (Wheezy); the text changed 5 times.
--count since Debian 10 (Buster);
--declare since Debian 10 (Buster);
--exclusive since Debian 10 (Buster);
--prefetch-count since Debian 10 (Buster);
-c since Debian 10 (Buster);
-d since Debian 10 (Buster);
-p since Debian 10 (Buster);
-x since Debian 10 (Buster).
-A until Debian 12 (Bookworm);
-e until Debian 12 (Bookworm);
-q until Debian 12 (Bookworm);
-r until Debian 12 (Bookworm).