Adapters Zend_Queue supports all queues implementing the interface Zend_Queue_Adapter_AdapterInterface. The following Message Queue services are supported: ApacheMQ. A database driven queue via Zend_Db. A MemcacheQ queue driven via Memcache. A local array. Useful for unit testing. Limitations Message transaction handling is not supported. Specific Adapters - Configuration settings If a default setting is indicated then the parameter is optional. If a default setting is not specified then the parameter is required. ApacheMQ - Zend_Queue_Adapter_Apachemq Options here listed here are known requirements. Not all messaging servers require username or password. $options['name'] = '/temp/queue1'; This is the name of the queue that you wish to start using. (Required) $options['driverOptions']['host'] = 'host.domain.tld'; $options['driverOptions']['host'] = '127.0.0.1'; You may set host to an IP address or a hostname. Default setting for host is '127.0.0.1'. $options['driverOptions']['port'] = 61613; Default setting for port is 61613. $options['driverOptions']['username'] = 'username'; Optional for some messaging servers. Read the manual for your messaging server. $options['driverOptions']['password'] = 'password'; Optional for some messaging servers. Read the manual for your messaging server. $options['driverOptions']['timeout_sec'] = 2; $options['driverOptions']['timeout_usec'] = 0; This is the amount of time that Zend_Queue_Adapter_Activemq will wait for read activity on a socket before returning no messages. Db - Zend_Queue_Adapter_Db Driver options are checked for a few required options such as type, host, username, password, and dbname. You may pass along additional parameters for Zend_DB::factory() as parameters in $options['driverOptions']. An example of an additional option not listed here, but could be passed would be port. array( 'host' => 'db1.domain.tld', 'username' => 'my_username', 'password' => 'my_password', 'dbname' => 'messaging', 'type' => 'pdo_mysql', 'port' => 3306, // optional parameter. ), 'options' => array( // use Zend_Db_Select for update, not all databases can support this // feature. Zend_Db_Select::FOR_UPDATE => true ) ); // Create a database queue. $queue = Zend_Queue::factory('Db', $options); ]]> $options['name'] = 'queue1'; This is the name of the queue that you wish to start using. (Required) $options['driverOptions']['type'] = 'Pdo'; type is the adapter you wish to have Zend_Db::factory() use. This is the first parameter for the Zend_Db::factory() class method call. $options['driverOptions']['host'] = 'host.domain.tld'; $options['driverOptions']['host'] = '127.0.0.1'; You may set host to an IP address or a hostname. Default setting for host is '127.0.0.1'. $options['driverOptions']['username'] = 'username'; $options['driverOptions']['password'] = 'password'; $options['driverOptions']['dbname'] = 'dbname'; The database name that you have created the required tables for. See the notes section below. MemcacheQ - Zend_Queue_Adapter_Memcacheq $options['name'] = 'queue1'; This is the name of the queue that you wish to start using. (Required) $options['driverOptions']['host'] = 'host.domain.tld'; $options['driverOptions']['host'] = '127.0.0.1;' You may set host to an IP address or a hostname. Default setting for host is '127.0.0.1'. $options['driverOptions']['port'] = 22201; The default setting for port is 22201. Array - Zend_Queue_Adapter_Array $options['name'] = 'queue1'; This is the name of the queue that you wish to start using. (Required) Notes for Specific Adapters The following adapters have notes: ActiveMQ Visibility duration for Zend_Queue_Adapter_ActiveMQ is not available. While Apache's ActiveMQ will support multiple subscriptions, the Zend_Queue does not. You must create a new Zend_Queue object for each individual subscription. ActiveMQ queue/topic names must begin with one of: /queue/ /topic/ /temp-queue/ /temp-topic/ For example: /queue/testing The following functions are not supported: create() - create queue. Calling this function will throw an exception. delete() - delete queue. Calling this function will throw an exception. getQueues() - list queues. Calling this function will throw an exception. Zend_Db The database CREATE TABLE ( ... ) SQL statement can be found in Zend/Queue/Adapter/Db/queue.sql. MemcacheQ Memcache can be downloaded from http://www.danga.com/memcached/. MemcacheQ can be downloaded from http://memcachedb.org/memcacheq/. deleteMessage() - Messages are deleted upon reception from the queue. Calling this function would have no effect. Calling this function will throw an error. count() or count($adapter) - MemcacheQ does not support a method for counting the number of items in a queue. Calling this function will throw an error. Array (local) The Array queue is a PHP array() in local memory. The Zend_Queue_Adapter_Array is good for unit testing.