SYNOPSIS
amqp-consume OPTION command args
Description
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
--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.
Examples
- 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
See also
librabbitmq-tools(7) describes connection-related options common to all the
RabbitMQ C Client tools.