Previous | Contents | Index |
queue
, nonurgentqueue
, normalqueue
, urgentqueue
, after
)
PMDF creates service jobs to deliver messages. The queues where the jobs are created can be selected on a channel by channel basis by using the queue
keyword. On OpenVMS, the queues used can also be selected by using the nonurgentqueue
, normalqueue
, and urgentqueue
keywords. These *queue
keywords must be followed by the name of the queue to which delivery
jobs for the current channel should be queued. The name of the queue
should not contain more than twelve characters.
On OpenVMS, different queue usage for messages of different priorities may be explicitly set using the nonurgentqueue
, normalqueue
, or urgentqueue
keywords. Otherwise, the queue
value (if any) will be used for all messages. If no *queue
keyword is specified, then the queue used is the default queue,
MAIL$BATCH on OpenVMS.
On Unix and Windows, different queue usage for different channels is normally set up using the Job Controller configuration file. The queue
channel keyword may be used on the channel to specify a queue that is
defined in the Job Controller. However, if a queue is specified in the
Job Controller configuration file, that one takes precedence.
Using multiple queues is especially useful when PMDF is run in a
cluster. Certain channels may require hardware or software that is only
available on a specific system within the cluster. Accordingly, queues
may be associated with specific systems, making it possible to ensure
that the jobs servicing a particular channel only run on the proper
machine.
Execution of service jobs can be deferred using the after
keyword. The after
keyword must be followed by a specification of the amount of time to
delay. If the value following the keyword is an unsigned integer value,
it is interpreted as a number of seconds by which to defer the
execution of the job---a delta time value.
On OpenVMS, there is an alternative time format specification. Anything
other than an unsigned integer will be interpreted as being in standard
OpenVMS combination date/time format. The specification must not be
quoted and may not contain any spaces. For example,
TOMORROW+1
delays execution of any submitted job to 1:00AM
the following day; +00:01:00
delays execution of any
submitted job for one minute. The specification -::
is
equivalent to the current date/time and is the default, resulting in
immediate eligibility for execution.
On OpenVMS, deferred execution with an absolute time value is most
often used to schedule delivery at a time when some resource is known
to be available. It can also be used to defer delivery to a time when
the system isn't so heavily loaded, but other techniques, such as
placing dynamic limits on the allowed number of simultaneous jobs, may
be a better solution.
Deferred execution with a (typically small) delta time value is most often used to increase throughput (e.g., as a result of cutting down on image activation overhead) for heavily used channels. Note that, regardless of the after
channel keyword, PMDF will not submit a new channel job when there is already a pending or holding job for that channel. (PMDF will, however, submit a new channel job when there are already running jobs for that channel.) So by using the after
channel keyword to introduce a slight latency in the execution of immediate PMDF channel jobs, each such job has a window of time during which to "collect" all the messages sent to the channel in that time. Whereas normally an immediate PMDF channel job might typically handle only one (or at especially busy times perhaps two or three) messages, such use of the after
channel keyword allows immediate PMDF channel jobs to typically collect
and handle larger numbers of messages. For channels with high
connection or image activation overhead, this can result in
significantly higher overall throughput.
Previous | Next | Contents | Index |