Zend_Queue-Example.xml 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <!-- EN-Revision: 24249 -->
  4. <sect1 id="zend.queue.example">
  5. <title>使用例</title>
  6. <para>
  7. 下記の<classname>Zend_Queue</classname>の例で
  8. 待ち行列の作成や待ち行列の取得、メッセージ取得、メッセージ削除及びメッセージ送信を含む
  9. 様々なフィーチャーを示します。
  10. </para>
  11. <programlisting language="php"><![CDATA[
  12. // 構成オプションのために
  13. // @see Zend_Queue_Adapater::__construct()
  14. $options = array(
  15. 'name' => 'queue1',
  16. );
  17. // 配列待ち行列の作成
  18. $queue = new Zend_Queue('Array', $options);
  19. // 待ち行列一覧の取得
  20. foreach ($queue->getQueues() as $name) {
  21. echo $name, "\n";
  22. }
  23. // 新規待ち行列の作成
  24. $queue2 = $queue->createQueue('queue2');
  25. // 待ち行列のメッセージ数の取得 (SPL由来の Countable インターフェイスをサポート)
  26. echo count($queue);
  27. // 待ち行列からメッセージを5件取り出す
  28. $messages = $queue->receive(5);
  29. foreach ($messages as $i => $message) {
  30. echo $message->body, "\n";
  31. //メッセージを処理しました。今待ち行列から除去します。
  32. $queue->deleteMessage($message);
  33. }
  34. // 現在アクティブな待ち行列にメッセージを送信
  35. $queue->send('My Test Message');
  36. // 作成した待ち行列と、そのすべてのメッセージを削除
  37. $queue->deleteQueue('queue2');
  38. ]]></programlisting>
  39. </sect1>