2
0

Zend_Queue-Adapters.xml 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 17669 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.queue.adapters">
  5. <title>Adapter</title>
  6. <para>
  7. <classname>Zend_Queue</classname> unterstützt alle Queues die das Interface
  8. <classname>Zend_Queue_Adapter_AdapterInterface</classname> implementieren. Die folgenden
  9. Nachrichten Queue Services werden unterstützt:
  10. </para>
  11. <itemizedlist>
  12. <listitem>
  13. <para>
  14. <ulink url="http://activemq.apache.org/">Apache ActiveMQ</ulink>.
  15. </para>
  16. </listitem>
  17. <listitem>
  18. <para>
  19. Eine Datenbank verwendende Queue über <classname>Zend_Db</classname>.
  20. </para>
  21. </listitem>
  22. <listitem>
  23. <para>
  24. Eine <ulink url="http://memcachedb.org/memcacheq/">MemcacheQ</ulink> verwendende
  25. Queue über <classname>Memcache</classname>.
  26. </para>
  27. </listitem>
  28. <listitem>
  29. <para>
  30. Die Job Queue von <ulink
  31. url="http://www.zend.com/en/products/platform/">Zend Platform's</ulink>.
  32. </para>
  33. </listitem>
  34. <listitem>
  35. <para>
  36. Ein lokales Array. Nützlich für Unit Tests.
  37. </para>
  38. </listitem>
  39. </itemizedlist>
  40. <note id="zend.queue.adapters.limitations">
  41. <title>Einschränkungen</title>
  42. <para>
  43. Das Transaction Handling für Nachrichten wird nicht unterstützt.
  44. </para>
  45. </note>
  46. <sect2 id="zend.queue.adapters.configuration">
  47. <title>Spezielle Adapter - Konfigurations Optionen</title>
  48. <para>
  49. Wenn eine Standardeinstellung angezeigt wird, dann ist der Parameter optional.
  50. Wenn keine Standardeinstellung spezifiziert ist dann wird der Parameter benötigt.
  51. </para>
  52. <sect3 id="zend.queue.adapters.configuration.apachemq">
  53. <title>Apache ActiveMQ - Zend_Queue_Adapter_Activemq</title>
  54. <para>
  55. Hier aufgeführte Optionen sind bekannte Notwendigkeiten. Nicht alle Nachrichten
  56. Server benötigen username oder password.
  57. </para>
  58. <itemizedlist>
  59. <listitem>
  60. <para>
  61. <emphasis>$options['name'] = '/temp/queue1';</emphasis>
  62. </para>
  63. <para>
  64. Das ist der Name der Queue die man anfangen will zu verwenden. (Benötigt)
  65. </para>
  66. </listitem>
  67. <listitem>
  68. <para>
  69. <emphasis>$options['driverOptions']['host'] = 'host.domain.tld';</emphasis>
  70. </para>
  71. <para>
  72. <emphasis>$options['driverOptions']['host'] = '127.0.0.1';</emphasis>
  73. </para>
  74. <para>
  75. Man kann host auf eine IP Adresse oder einen Hostnamen setzen.
  76. </para>
  77. <para>
  78. Der Standardwert für host ist '127.0.0.1'.
  79. </para>
  80. </listitem>
  81. <listitem>
  82. <para>
  83. <emphasis>$options['driverOptions']['port'] = 61613;</emphasis>
  84. </para>
  85. <para>Die Standardeinstellung für port ist 61613.</para>
  86. </listitem>
  87. <listitem>
  88. <para>
  89. <emphasis>$options['driverOptions']['username'] = 'username';</emphasis>
  90. </para>
  91. <para>
  92. Optional für einige Nachrichten Server. Lesen Sie das Handbuch für Ihren
  93. Nachrichten Server.
  94. </para>
  95. </listitem>
  96. <listitem>
  97. <para>
  98. <emphasis>$options['driverOptions']['password'] = 'password';</emphasis>
  99. </para>
  100. <para>
  101. Optional für einige Nachrichten Server. Lesen Sie das Handbuch für Ihren
  102. Nachrichten Server.
  103. </para>
  104. </listitem>
  105. <listitem>
  106. <para>
  107. <emphasis>$options['driverOptions']['timeout_sec'] = 2;</emphasis>
  108. </para>
  109. <para>
  110. <emphasis>$options['driverOptions']['timeout_usec'] = 0;</emphasis>
  111. </para>
  112. <para>
  113. Das ist die Menge an Zeit die
  114. <classname>Zend_Queue_Adapter_Activemq</classname> für einen Lesezugriff
  115. auf einem Socket wartet bevor keine Nachricht zurückgegeben wird.
  116. </para>
  117. </listitem>
  118. </itemizedlist>
  119. </sect3>
  120. <sect3 id="zend.queue.adapters.configuration.Db">
  121. <title>Db - Zend_Queue_Adapter_Db</title>
  122. <para>
  123. Optionen des Treibers werden für wenige benötigte Optionen geprüft so wie
  124. <emphasis>type</emphasis>, <emphasis>host</emphasis>,
  125. <emphasis>username</emphasis>, <emphasis>password</emphasis> und
  126. <emphasis>dbname</emphasis>. Man kann zusätzliche Parameter für
  127. <methodname>Zend_DB::factory()</methodname> als Paramerter in
  128. <varname>$options['driverOptions']</varname> übergeben. Ein Beispiel für eine
  129. zusätzliche Option die hier nicht aufgeführt ist, aber übergeben werden könnte ist
  130. <emphasis>port</emphasis>.
  131. </para>
  132. <programlisting language="php"><![CDATA[
  133. $options = array(
  134. 'driverOptions' => array(
  135. 'host' => 'db1.domain.tld',
  136. 'username' => 'my_username',
  137. 'password' => 'my_password',
  138. 'dbname' => 'messaging',
  139. 'type' => 'pdo_mysql',
  140. 'port' => 3306, // Optionaler Parameter
  141. ),
  142. 'options' => array(
  143. // Verwenden von Zend_Db_Select für das Update, nicht alle Datenbanken
  144. // unterstützen dieses Feature.
  145. Zend_Db_Select::FOR_UPDATE => true
  146. )
  147. );
  148. // Eine Datenbank Queue erstellen.
  149. $queue = new Zend_Queue('Db', $options);
  150. ]]></programlisting>
  151. <itemizedlist>
  152. <listitem>
  153. <para>
  154. <emphasis>$options['name'] = 'queue1';</emphasis>
  155. </para>
  156. <para>
  157. Das ist der Name der Queue die man anfangen will zu verwenden. (Benötigt)
  158. </para>
  159. </listitem>
  160. <listitem>
  161. <para>
  162. <emphasis>$options['driverOptions']['type'] = 'Pdo';</emphasis>
  163. </para>
  164. <para>
  165. <emphasis>type</emphasis> ist der Adapter von dem man will das Ihn
  166. <methodname>Zend_Db::factory()</methodname> verwendet. Das ist der erste
  167. Parameter für den Aufruf der Klassenmethode
  168. <methodname>Zend_Db::factory()</methodname>
  169. </para>
  170. </listitem>
  171. <listitem>
  172. <para>
  173. <emphasis>$options['driverOptions']['host'] = 'host.domain.tld';</emphasis>
  174. </para>
  175. <para>
  176. <emphasis>$options['driverOptions']['host'] = '127.0.0.1';</emphasis>
  177. </para>
  178. <para>
  179. Man kann host auf eine IP Adresse oder einen Hostnamen setzen.
  180. </para>
  181. <para>
  182. Der Standardwert für host ist '127.0.0.1'.
  183. </para>
  184. </listitem>
  185. <listitem>
  186. <para>
  187. <emphasis>$options['driverOptions']['username'] = 'username';</emphasis>
  188. </para>
  189. </listitem>
  190. <listitem>
  191. <para>
  192. <emphasis>$options['driverOptions']['password'] = 'password';</emphasis>
  193. </para>
  194. </listitem>
  195. <listitem>
  196. <para>
  197. <emphasis>$options['driverOptions']['dbname'] = 'dbname';</emphasis>
  198. </para>
  199. <para>
  200. Der Name der Datenbank für die man die benötigten Tabellen erstellt hat.
  201. Siehe das unten stehende Notizen Kapitel.
  202. </para>
  203. </listitem>
  204. </itemizedlist>
  205. </sect3>
  206. <sect3 id="zend.queue.adapters.configuration.memcacheq">
  207. <title>MemcacheQ - Zend_Queue_Adapter_Memcacheq</title>
  208. <itemizedlist>
  209. <listitem>
  210. <para>
  211. <emphasis>$options['name'] = 'queue1';</emphasis>
  212. </para>
  213. <para>
  214. Das ist der Name der Queue die man anfangen will zu verwenden. (Benötigt)
  215. </para>
  216. </listitem>
  217. <listitem>
  218. <para>
  219. <emphasis>$options['driverOptions']['host'] = 'host.domain.tld';</emphasis>
  220. </para>
  221. <para>
  222. <emphasis>$options['driverOptions']['host'] = '127.0.0.1;'</emphasis>
  223. </para>
  224. <para>
  225. Man kann host auf eine IP Adresse oder einen Hostnamen setzen.
  226. </para>
  227. <para>
  228. Der Standardwert für host ist '127.0.0.1'.
  229. </para>
  230. </listitem>
  231. <listitem>
  232. <para>
  233. <emphasis>$options['driverOptions']['port'] = 22201;</emphasis>
  234. </para>
  235. <para>Die Standardeinstellung für port ist 22201.</para>
  236. </listitem>
  237. </itemizedlist>
  238. </sect3>
  239. <sect3 id="zend.queue.adapters.configuration.platformjq">
  240. <title>Zend Platform Job Queue - Zend_Queue_Adapter_PlatformJobQueue</title>
  241. <itemizedlist>
  242. <listitem>
  243. <para>
  244. <emphasis>$options['daemonOptions']['host'] = '127.0.0.1:10003';</emphasis>
  245. </para>
  246. <para>
  247. Hostname und Port die mit dem Daemon der Zend Platform Job Queue
  248. korrespondieren, die man verwenden will. (Benötigt)
  249. </para>
  250. </listitem>
  251. <listitem>
  252. <para>
  253. <emphasis>$options['daemonOptions']['password'] = '1234';</emphasis>
  254. </para>
  255. <para>
  256. Das Passwort welches für den Zugriff auf den Daemon der Zend Platform Job
  257. Queue benötigt wird. (Benötigt)
  258. </para>
  259. </listitem>
  260. </itemizedlist>
  261. </sect3>
  262. <sect3 id="zend.queue.adapters.configuration.array">
  263. <title>Array - Zend_Queue_Adapter_Array</title>
  264. <itemizedlist>
  265. <listitem>
  266. <para>
  267. <emphasis>$options['name'] = 'queue1';</emphasis>
  268. </para>
  269. <para>
  270. Das ist der Name der Queue die man anfangen will zu verwenden. (Benötigt)
  271. </para>
  272. </listitem>
  273. </itemizedlist>
  274. </sect3>
  275. </sect2>
  276. <sect2 id="zend.queue.adapters.notes">
  277. <title>Hinweise für spezielle Adapter</title>
  278. <para>Die folgenden Adapter haben Hinweise:</para>
  279. <sect3 id="zend.queue.adapters.notes.activemq">
  280. <title>Apache ActiveMQ</title>
  281. <para>
  282. Die Dauer der Sichtbarkeit (visibility duration) ist für
  283. <classname>Zend_Queue_Adapter_Activemq</classname> nicht vorhanden.
  284. </para>
  285. <para>
  286. Wärend Apache's ActiveMQ mehrere Einschreibungen unterstützt, wird das von
  287. <classname>Zend_Queue</classname> nicht unterstützt. Man muss ein neues
  288. <classname>Zend_Queue</classname> Objekt für jede individuelle Einschreibung
  289. erstellen.
  290. </para>
  291. <para>
  292. ActiveMQ Queue oder Topic Namen müssen mit einem der folgenden beginnen:
  293. </para>
  294. <itemizedlist>
  295. <listitem>
  296. <para>
  297. <filename>/queue/</filename>
  298. </para>
  299. </listitem>
  300. <listitem>
  301. <para>
  302. <filename>/topic/</filename>
  303. </para>
  304. </listitem>
  305. <listitem>
  306. <para>
  307. <filename>/temp-queue/</filename>
  308. </para>
  309. </listitem>
  310. <listitem>
  311. <para>
  312. <filename>/temp-topic/</filename>
  313. </para>
  314. </listitem>
  315. </itemizedlist>
  316. <para>
  317. Zum Beispiel: <filename>/queue/testing</filename>
  318. </para>
  319. <para>
  320. Die folgenden Funktionen werden nicht unterstützt:
  321. </para>
  322. <itemizedlist>
  323. <listitem>
  324. <para>
  325. <methodname>create()</methodname> - Erstellt eine Queue. Der Aufruf dieser
  326. Funktion wird eine Exception werfen.
  327. </para>
  328. </listitem>
  329. <listitem>
  330. <para>
  331. <methodname>delete()</methodname> - Löscht eine Queue. Der Aufruf dieser
  332. Funktion wird eine Exception werfen.
  333. </para>
  334. </listitem>
  335. <listitem>
  336. <para>
  337. <methodname>getQueues()</methodname> - Auflisten von Queues. Der Aufruf
  338. dieser Funktion wird eine Exception werden.
  339. </para>
  340. </listitem>
  341. </itemizedlist>
  342. </sect3>
  343. <sect3 id="zend.queue.adapters.notes.zend_db">
  344. <title>Zend_Db</title>
  345. <para>
  346. Das Datenbank <acronym>SQL</acronym> Statement
  347. <emphasis>CREATE TABLE ( ... )</emphasis> kann in
  348. <filename>Zend/Queue/Adapter/Db/queue.sql</filename> gefunden werden.
  349. </para>
  350. </sect3>
  351. <sect3 id="zend.queue.adapters.notes.memcacheQ">
  352. <title>MemcacheQ</title>
  353. <para>
  354. Memcache kann von <ulink
  355. url="http://www.danga.com/memcached/">http://www.danga.com/memcached/</ulink>
  356. heruntergeladen werden.
  357. </para>
  358. <para>
  359. MemcacheQ kann von <ulink
  360. url="http://memcachedb.org/memcacheq/">http://memcachedb.org/memcacheq/</ulink>
  361. heruntergeladen werden.
  362. </para>
  363. <itemizedlist>
  364. <listitem>
  365. <para>
  366. <methodname>deleteMessage()</methodname> - Nachrichten werden von der Queue
  367. gelöscht nachdem Sie von der Queue empfangen werden. Der Aufruf dieser
  368. Funktion hätte keinen Effekt. Der Aufruf dieser Funktion wird keinen Fehler
  369. werfen.
  370. </para>
  371. </listitem>
  372. <listitem>
  373. <para>
  374. <methodname>count()</methodname> oder
  375. <methodname>count($adapter)</methodname> - MemcacheQ unterstützt keine
  376. Methode für das Zählen der Anzahl an Elementen in einer Queue. Der Aufruf
  377. dieser Funktion wird keinen Fehler werfen.
  378. </para>
  379. </listitem>
  380. </itemizedlist>
  381. </sect3>
  382. <sect3 id="zend.queue.adapters.notes.platformjq">
  383. <title>Zend Platform Job Queue</title>
  384. <para>
  385. Job Queue ist ein Feature das von Zend Platform's Enterprise Solution angeboten
  386. wird. Es ist keine traditionelle Nachrichten Queue, sondern erlaubt es ein Skript
  387. zu queuen um es auszuführen, zusammen mit den Parametern die man an dieses
  388. übergeben will. Man kann mehr über die Job Queue <ulink
  389. url="http://www.zend.com/en/products/platform/">auf der Webseite von
  390. zend.com</ulink> herausfinden.
  391. </para>
  392. <para>
  393. Nachfolgend ist eine Liste von Methoden bei denen sich das Verhalten dieses
  394. Adapters vom Standardverhalten unterscheidet:
  395. </para>
  396. <itemizedlist>
  397. <listitem>
  398. <para>
  399. <methodname>create()</methodname> - Zend Platform hat kein Konzept von
  400. diskreten Queues; stattdessen erlaubt es Administratoren Skripte für die
  401. Bearbeitung der Queue anzugeben. Da das hinzufügen von neuen Skripten auf
  402. das Administrations Interface begrenzt ist, wirft diese Methode einfach
  403. eine Exception um anzuzeigen das diese Aktion verboten ist.
  404. </para>
  405. </listitem>
  406. <listitem>
  407. <para>
  408. <methodname>isExists()</methodname> - Genauso wie
  409. <methodname>create()</methodname>, und da die Job Queue keine Notation für
  410. benannte Queues hat wirft diese Methode eine Exception wenn Sie aufgerufen
  411. wird.
  412. </para>
  413. </listitem>
  414. <listitem>
  415. <para>
  416. <methodname>delete()</methodname> - Ähnlich wie
  417. <methodname>create()</methodname>, ist das Löschen von JQ Skripten nicht
  418. möglich, ausser über das Admin Interface; diese Methode wirft eine
  419. Exception.
  420. </para>
  421. </listitem>
  422. <listitem>
  423. <para>
  424. <methodname>getQueues()</methodname> - Zend Platform erlaubt es nicht
  425. über die API die angehängten Job Handling Skripte einzusehen. Diese
  426. Methode wirft eine Exception.
  427. </para>
  428. </listitem>
  429. <listitem>
  430. <para>
  431. <methodname>count()</methodname> - Gibt die totale Anzahl an Jobs zurück die
  432. aktuell in der Job Queue aktiv sind.
  433. </para>
  434. </listitem>
  435. <listitem>
  436. <para>
  437. <methodname>send()</methodname> - Diese Methode ist möglicherweise die eine
  438. Methode welche sich am meisten von den anderen Adaptern unterscheidet.
  439. Das <varname>$message</varname> Argument kann eine von drei möglichen
  440. Typen sein und arbeitet unterschiedlich, basierend auf dem übergebenen Wert:
  441. </para>
  442. <itemizedlist>
  443. <listitem>
  444. <para>
  445. <acronym>string</acronym> - Der Name eines betroffenen Skripts das
  446. in der Job Queue registriert ist. Wenn es auf diesem Weg übergeben
  447. wird, werden keine Argumente an das Skript übergeben.
  448. </para>
  449. </listitem>
  450. <listitem>
  451. <para>
  452. <acronym>array</acronym> - Ein Array von Werte mit denen ein
  453. <classname>ZendApi_Job</classname> Objekt konfiguriert werden soll.
  454. Dieses kann folgendes enthalten:
  455. </para>
  456. <itemizedlist>
  457. <listitem>
  458. <para>
  459. <varname>script</varname> - Den Namen des betroffenen
  460. Job Queue Skripts. (Benötigt)
  461. </para>
  462. </listitem>
  463. <listitem>
  464. <para>
  465. <varname>priority</varname> - Die Priorität des Jobs die
  466. verwendet werden soll wenn er in der Queue registriert wird.
  467. </para>
  468. </listitem>
  469. <listitem>
  470. <para>
  471. <varname>name</varname> - Ein kurzer String der den Job
  472. beschreibt.
  473. </para>
  474. </listitem>
  475. <listitem>
  476. <para>
  477. <varname>predecessor</varname> - Die ID eines Jobs von der
  478. dieser abhängt, und welches aufgeführt werden muß bevor
  479. dieses anfangen kann.
  480. </para>
  481. </listitem>
  482. <listitem>
  483. <para>
  484. <varname>preserved</varname> - Ob der Job in der History
  485. der Job Queue behalten werden soll. Standardmäßig aus;
  486. wenn ein true Wert übergeben wird, dann wird er behalten.
  487. </para>
  488. </listitem>
  489. <listitem>
  490. <para>
  491. <varname>user_variables</varname> - Ein Assoziatives Array
  492. aller Variablen die man wärend der Ausführung des Jobs im
  493. Geltungsbereich haben will (ähnlich benannten Argumenten).
  494. </para>
  495. </listitem>
  496. <listitem>
  497. <para>
  498. <varname>interval</varname> - Wie oft, in Sekunden, der Job
  499. ausgeführt werden soll. Standardmäßig ist das auf 0
  500. gesetzt, was anzeigt das er einmal, und nur einmal
  501. ausgeführt werden soll.
  502. </para>
  503. </listitem>
  504. <listitem>
  505. <para>
  506. <varname>end_time</varname> - Eine abgelaufene Zeit, nach
  507. welcher der Job nicht ausgeführt werden soll. Wenn der Job
  508. so gesetzt wurde das er nur einmal ausgeführt wird, und
  509. <varname>end_time</varname> übergeben wurde, dann wird der
  510. Job nicht ausgeführt. Wenn der Job so gesetzt wurde das er
  511. in einem Intervall ausgeführt wird, das wird er nicht mehr
  512. ausgeführt bis <varname>end_time</varname> abgelaufen ist.
  513. </para>
  514. </listitem>
  515. <listitem>
  516. <para>
  517. <varname>schedule_time</varname> - Ein
  518. <acronym>UNIX</acronym> Zeitstempel der anzeigt wann der
  519. Job ausgeführt werden soll; standardmäßig 0, was anzeigt das
  520. der Job so früh wie möglich ausgeführt werden soll.
  521. </para>
  522. </listitem>
  523. <listitem>
  524. <para>
  525. <varname>application_id</varname> - Der Identifikator der
  526. Anwendung für den Job. Standardmäßig ist er null, was
  527. anzeigt das automatisch einer von der Queue zugeordnet
  528. wird, wenn die Queue einer Anwendungs ID zugeordnet wird.
  529. </para>
  530. </listitem>
  531. </itemizedlist>
  532. <para>
  533. Wie erwähnt, wird nur das <varname>script</varname> Argument
  534. benötigt; alle anderen anderen nur nur einfach vorhanden um es zu
  535. erlauben feinkörnigere Details darüber zu übergeben, wie und wann
  536. ein Job ausgeführt werden soll.
  537. </para>
  538. </listitem>
  539. <listitem>
  540. <para>
  541. <classname>ZendApi_Job</classname> - Letztendlich kann einfach eine
  542. Instanz von <classname>ZendApi_Job</classname> übergeben werden und
  543. Sie wird zur Job Queue der Plattform übergeben.
  544. </para>
  545. </listitem>
  546. </itemizedlist>
  547. <para>
  548. In allen Instanzen gibt <methodname>send()</methodname> ein
  549. <classname>Zend_Queue_Message_PlatformJob</classname> Objekt zurück, welches
  550. Zugriff zum <classname>ZendApi_Job</classname> Objekt gibt und verwendet
  551. wird um mit der Job Queue zu kommunizieren.
  552. </para>
  553. </listitem>
  554. <listitem>
  555. <para>
  556. <methodname>receive()</methodname> - Empfängt eine Liste von aktiven Jobs
  557. von der Job Queue. Jeder Job im zurückgegebenen Set ist eine Instanz von
  558. <classname>Zend_Queue_Message_PlatformJob</classname>.
  559. </para>
  560. </listitem>
  561. <listitem>
  562. <para>
  563. <methodname>deleteMessage()</methodname> - Da dieser Adapter nur mit der
  564. Job Queue arbeitet, erwartet diese Methode das die übergebene
  565. <varname>$message</varname> eine Instanz von
  566. <classname>Zend_Queue_Message_PlatformJob</classname> ist, und wirft
  567. andernfalls eine Exception.
  568. </para>
  569. </listitem>
  570. </itemizedlist>
  571. </sect3>
  572. <sect3 id="zend.queue.adapters.notes.array">
  573. <title>Array (Lokal)</title>
  574. <para>
  575. Die Array Queue ist ein <acronym>PHP</acronym> <methodname>array()</methodname>
  576. im lokalen Speicher. <classname>Zend_Queue_Adapter_Array</classname> ist gut
  577. für das Unit Testen.
  578. </para>
  579. </sect3>
  580. </sect2>
  581. </sect1>