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:" 10
$
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:" 10
$
amqp-consume -A -e myexch ./myscript
librabbitmq-tools(7) describes connection-related options common
to all the RabbitMQ C Client tools.