Previous | Next | Contents | Index |
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
the 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 CONV
in the Job Controller configuration file
(job_controller.cnf
) that is dedicated to handling
conversion channel jobs:
[QUEUE=CONV] JOB_LIMIT=10 |
The 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.
Previous | Next | Contents | Index |