Zend_Queue-Example.xml 1.3 KB

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