The PMDF Job Controller is only used on UNIX and NT platforms. PMDF uses the OpenVMS Job Controller, as well as batch queues or PMDF Process Symbiont queues on OpenVMS.
The PMDF Job Controller is responsible for controlling the flow of messages inside PMDF. When a message is enqueued to a channel, the Job Controller runs the jobs required to deliver the message. Depending on the channel and how heavily the system is loaded, the Job Controller may start a new process, add a thread to an existing process, or verify that a process is already running to deliver the message.
Internally, the Job Controller maintains a set of queues containing process requests. Each message generates a processing request when it is enqueued to a channel, which is placed on the appropriate queue. Each queue has a job limit, which specifies the maximum number of processes that are allowed to run in parallel on that queue. Requests are executed immediately until the job limit is exceeded, at which point they are queued to run as soon as a job is available.
The Job Controller uses an in-memory queue cache database to keep track
of message files as they are processed and moved between channels.
Normally, every message file in PMDF's on-disk queue area has a
corresponding entry in the queue cache database. In extreme cases, the
number of messages on disk may exceed the size limit of the in-memory
database structure. If this happens, the Job Controller tracks as many
message files as it can fit in its database. After enough messages have
been processed to free up space inside the database, the Job Controller
automatically scans the on-disk queue areas to update its list of
message files. If your site frequently experiences heavy message
max_messages option may be used to tune the
number of messages stored in the queue cache database. See
Section 10.3 for more information.
Versions of PMDF prior to V6.2-1 have a limited number of requests (specified by the