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 |