The Job Controller creates and manages channel jobs for delivering
messages. Each set of channel jobs is part of an internal queue. The
queue provides an area where a set of channel jobs can run without
contention for resources with other channel jobs outside of the queue.
The number of jobs that can run inside a particular queue is set with
JOB_LIMIT keyword. For example, if you have a
CONV queue defined with a
JOB_LIMIT of 10,
then only 10 processes can run in that queue at any given time.
Usage of the
conversion channel for virus scanning or
stripping "dangerous" attached files is a common situation
where sites would want to create additional queues. Virus scanning a
message requires a significant amount of time, and
conversion channel jobs can quickly fill every available
job slot at a busy site. Delivery channel jobs such as the
l (local) and
msgstore channels are only
allowed to run infrequently, causing large delays in message delivery.
A solution to this problem is to define a queue named
in the Job Controller configuration file
job_controller.cnf) that is dedicated to handling
conversion channel jobs:
conversion channel is told to run its channel jobs
inside the new queue with the
queue keyword. For example:
[CHANNEL=conversion] master_command=/pmdf/bin/conversion queue=conv
This allows up to 10
conversion channel jobs to run in
parallel, while leaving all of the job slots in the other queues
available for other channel jobs.