Zend_Queue-Example.xml 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 24249 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.queue.example">
  5. <title>Beispiel der Verwendung</title>
  6. <para>
  7. Das beiliegende Beispiel von <classname>Zend_Queue</classname> zeigt eine Vielzahl von
  8. Features, inklusive Erstellung der Queue, Empfangen der Queue, Empfangen von Nachrichten,
  9. Löschen von Nachrichten und Senden von Nachrichten.
  10. </para>
  11. <programlisting language="php"><![CDATA[
  12. // Für Konfigurations Optionen siehe
  13. // @see Zend_Queue_Adapater::__construct()
  14. $options = array(
  15. 'name' => 'queue1',
  16. );
  17. // Erstellung einer Array Queue
  18. $queue = new Zend_Queue('Array', $options);
  19. // Eine Liste von Queues erhalten
  20. foreach ($queue->getQueues() as $name) {
  21. echo $name, "\n";
  22. }
  23. // eine neue Liste erstellen
  24. $queue2 = $queue->createQueue('queue2');
  25. // Die Anzahl von Nachrichten in einer Queue erhalten
  26. // (unterstützt das Countable Interface von SPL)
  27. echo count($queue);
  28. // Bis zu 5 Nachrichten von der Queue erhalten
  29. $messages = $queue->receive(5);
  30. foreach ($messages as $i => $message) {
  31. echo $message->body, "\n";
  32. // Wir haben die Nachrichten bearbeitet;
  33. // jetzt löschen wir Sie von der Queue
  34. $queue->deleteMessage($message);
  35. }
  36. // Eine Nachricht zur aktuell aktiven Queue senden
  37. $queue->send('Meine Test Nachricht');
  38. // Eine Queue die wir erstellt haben löschen inklusive aller Ihrer Nachrichten
  39. $queue->deleteQueue('queue2');
  40. ]]></programlisting>
  41. </sect1>