123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.docbook.org/xml/4.5/docbookx.dtd"
- [
- <!ENTITY date SYSTEM "man-date.ent" >
- ]
- >
- <refentry lang="en">
- <refentryinfo>
- <productname>RabbitMQ C Client</productname>
- <authorgroup>
- <corpauthor>The RabbitMQ Team <<ulink url="mailto:info@rabbitmq.com"><email>info@rabbitmq.com</email></ulink>></corpauthor>
- </authorgroup>
- <date>&date;</date>
- </refentryinfo>
- <refmeta>
- <refentrytitle>amqp-consume</refentrytitle>
- <manvolnum>1</manvolnum>
- <refmiscinfo class="manual">RabbitMQ C Client</refmiscinfo>
- </refmeta>
- <refnamediv>
- <refname>amqp-consume</refname>
- <refpurpose>Consume messages from a queue on an AMQP server</refpurpose>
- </refnamediv>
- <refsynopsisdiv>
- <cmdsynopsis>
- <command>amqp-consume</command>
- <arg choice="opt" rep="repeat">
- <replaceable>OPTION</replaceable>
- </arg>
- <arg choice="req">
- <replaceable>command</replaceable>
- </arg>
- <arg choice="opt" rep="repeat">
- <replaceable>args</replaceable>
- </arg>
- </cmdsynopsis>
- </refsynopsisdiv>
- <refsect1>
- <title>Description</title>
- <para>
- <command>amqp-consume</command> 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.
- </para>
- <para>
- <command>amqp-consume</command> can consume from an
- existing queue, or it can create a new queue. It can
- optionally bind the queue to an existing exchange.
- </para>
- <para>
- 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 <quote>no ack</quote> mode
- (a.k.a. auto-ack mode) can be enable with the
- <option>-A</option> option.
- </para>
- </refsect1>
- <refsect1>
- <title>Options</title>
- <variablelist>
- <varlistentry>
- <term><option>-q</option></term>
- <term><option>--queue</option>=<replaceable class="parameter">queue name</replaceable></term>
- <listitem>
- <para>
- The name of the queue to consume messages
- from.
- </para>
- <para>
- If the <option>--queue</option> 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.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>-e</option></term>
- <term><option>--exchange</option>=<replaceable class="parameter">exchange name</replaceable></term>
- <listitem>
- <para>
- Specifies that an exclusive queue should
- be declared, and bound to the given exchange.
- The specified exchange should already exist
- unless the <option>--exchange-type</option>
- option is used to request the creation of an
- exchange.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>-r</option></term>
- <term><option>--routing-key</option>=<replaceable class="parameter">routing key</replaceable></term>
- <listitem>
- <para>
- The routing key for binding. If omitted, an
- empty routing key is assumed.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>-d</option></term>
- <term><option>--declare</option></term>
- <listitem>
- <para>
- Forces an exclusive queue to be declared,
- even when it otherwise would not be. That is,
- when a queue name is specified with the
- <option>--queue</option> option, but no
- binding to an exchange is requested with the
- <option>--exchange</option> option.
- Note: this option is deprecated and may be
- removed in a future version, use the
- <option>--exclusive</option> option to
- explicitly declare an exclusive queue.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>-x</option></term>
- <term><option>--exclusive</option></term>
- <listitem>
- <para>
- Declared queues are non-exclusive by default,
- this option forces declaration of exclusive
- queues.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>-A</option></term>
- <term><option>--no-ack</option>=<replaceable class="parameter">routing key</replaceable></term>
- <listitem>
- <para>
- Enable <quote>no ack</quote> mode: The AMQP
- server will unconditionally acknowledge each
- message that is delivered, regardless of
- whether the target command exits successfully
- or not.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>-c</option></term>
- <term><option>--count</option>=<replaceable class="parameter">limit</replaceable></term>
- <listitem>
- <para>
- Stop consuming after the given number of
- messages have been received.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>-p</option></term>
- <term><option>--prefetch-count</option>=<replaceable class="parameter">limit</replaceable></term>
- <listitem>
- <para>
- Request the server to only send
- <replaceable class="parameter">limit</replaceable>
- messages at a time.
- </para>
- <para>
- If any value was passed to <option>--count</option>,
- the value passed to <option>--prefetch-count</option>
- should be smaller than that, or otherwise it will be
- ignored.
- </para>
- <para>
- If <option>-A</option>/<option>--no-ack</option> is
- passed, this option has no effect.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
- <refsect1>
- <title>Examples</title>
- <variablelist>
- <varlistentry>
- <term>Consume messages from an existing queue
- <quote><systemitem
- class="resource">myqueue</systemitem></quote>, and
- output the message bodies on standard output via
- <command>cat</command>:</term>
- <listitem>
- <screen><prompt>$ </prompt><userinput>amqp-publish -q myqueue cat</userinput></screen>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>Bind a new exclusive queue to an
- exchange <quote><systemitem
- class="resource">myexch</systemitem></quote>, and send
- each message body to the script
- <filename>myscript</filename>, automatically
- acknowledging them on the server:</term>
- <listitem>
- <screen><prompt>$ </prompt><userinput>amqp-consume -A -e myexch ./myscript</userinput></screen>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
- <refsect1>
- <title>See also</title>
- <para>
- <citerefentry><refentrytitle>librabbitmq-tools</refentrytitle><manvolnum>7</manvolnum></citerefentry>
- describes connection-related options common to all the
- RabbitMQ C Client tools.
- </para>
- </refsect1>
- </refentry>
|