PMDF System Manager's Guide


Previous Contents Index

2.3.4.18 Service Job Queue Usage and Job Deferral (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