[MANUAL] English:
[zend.git] / documentation / manual / en / module_specs / Zend_Queue-Example.xml
blobb1f443c6d0dfbefab0bfcada0ce6c991cb809dc5
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Reviewed: no -->
3 <sect1 id="zend.queue.example">
4     <title>Example usage</title>
6     <para>
7         The below example of <classname>Zend_Queue</classname> shows a variety of
8         features, including queue creation, queue retrieval, message retrieval,
9         message deletion, and sending messages.
10     </para>
12     <programlisting language="php"><![CDATA[
13 // For configuration options
14 // @see Zend_Queue_Adapater::__construct()
15 $options = array(
16     'name' => 'queue1',
19 // Create an array queue
20 $queue = new Zend_Queue('Array', $options);
22 // Get list of queues
23 foreach ($queue->getQueues() as $name) {
24     echo $name, "\n";
27 // Create a new queue
28 $queue2 = $queue->createQueue('queue2');
30 // Get number of messages in a queue (supports Countable interface from SPL)
31 echo count($queue);
33 // Get up to 5 messages from a queue
34 $messages = $queue->receive(5);
36 foreach ($messages as $i => $message) {
37     echo $message->body, "\n";
39     // We have processed the message; now we remove it from the queue.
40     $queue->deleteMessage($message);
43 // Send a message to the currently active queue
44 $queue->send('My Test Message');
46 // Delete a queue we created and all of it's messages
47 $queue->deleteQueue('queue2');
48 ]]></programlisting>
49 </sect1>