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

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.