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.

Apache ActiveMQ - Zend_Queue_Adapter_Activemq

Options 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.

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.

Zend Platform Job Queue

Job Queue is a feature of Zend Platform's Enterprise Solution offering. It is not a
traditional message queue, and instead allows you to queue a script to execute,
along with the parameters you wish to pass to it. You can find out more about Job
Queue » on the zend.com
website.

The following is a list of methods where this adapter's behavior diverges from the
standard offerings:

create() - Zend Platform does not have the concept
of discrete queues; instead, it allows administrators to provide scripts for
processing jobs. Since adding new scripts is restricted to the
administration interface, this method simply throws an exception indicating
the action is forbidden.

isExists() - Just like
create(), since Job Queue does not have a notion of
named queues, this method throws an exception when invoked.

delete() - similar to
create(), deletion of JQ scripts is not possible
except via the admin interface; this method raises an exception.

getQueues() - Zend Platform does not allow
introspection into the attached job handling scripts via the
API. This method throws an exception.

count() - returns the total number of jobs
currently active in the Job Queue.

send() - this method is perhaps the one method that
diverges most from other adapters. The $message argument
may be one of three possible types, and will operate differently based on
the value passed:

string - the name of a script registered with Job
Queue to invoke. If passed in this way, no arguments are provided to
the script.

array - an array of values with which to
configure a ZendApi_Job object. These may
include the following:

script - the name of the Job Queue script
to invoke. (Required)

priority - the job priority to use when
registering with the queue.

name - a short string describing the job.

predecessor - the ID of a job on which
this one depends, and which must be executed before this one
may begin.

preserved - whether or not to retain the
job within the Job Queue history. By default, off; pass a
TRUE value to retain it.

user_variables - an associative array of
all variables you wish to have in scope during job execution
(similar to named arguments).

interval - how often, in seconds, the job
should run. By default, this is set to 0, indicating it
should run once, and once only.

end_time - an expiry time, past which the
job should not run. If the job was set to run only once,
and end_time has passed, then the job
will not be executed. If the job was set to run on an
interval, it will not execute again once
end_time has passed.

schedule_time - a UNIX
timestamp indicating when to run the job; by default, 0,
indicating the job should run as soon as possible.

application_id - the application
identifier of the job. By default, this is
NULL, indicating that one will be
automatically assigned by the queue, if the queue was
assigned an application ID.

As noted, only the script argument is required;
all others are simply available to allow passing more fine-grained
detail on how and when to run the job.

ZendApi_Job - finally, you may simply pass a
ZendApi_Job instance, and it will be passed
along to Platform's Job Queue.

In all instances, send() returns a
Zend_Queue_Message_PlatformJob object, which provides
access to the ZendApi_Job object used to communicate
with Job Queue.

receive() - retrieves a list of active jobs from
Job Queue. Each job in the returned set will be an instance of
Zend_Queue_Message_PlatformJob.

deleteMessage() - since this adapter only works
with Job Queue, this method expects the provided $message
to be a Zend_Queue_Message_PlatformJob instance, and
will throw an exception otherwise.

Array (local)

The Array queue is a PHParray()
in local memory. The Zend_Queue_Adapter_Array is good for
unit testing.