Examples of Use

Typically, you would add additional types of queue characteristics to the job controller configuration if you wanted to differentiate processing of some channels from that of other channels. You might also choose to use queues with different characteristics. For example, you might need to control the number of simultaneous requests that some channels are allowed to process. You can do this by creating a new queue with the desired job limit, then use the queue channel keyword to direct those channels to the new, more appropriate queue.

In addition to the definition of queues, the job controller configuration file also contains a table of IMTA channels and the commands that the job controller must use to process requests for each channel. These two types of requests are termed "master" and "slave." Typically, a channel master program is invoked when there is a message stored in an IMTA message queue for the channel. The master program dequeues the message and delivers it.

A slave program is invoked to poll a channel and pick up any messages inbound on that channel. While nearly all IMTA channels have a master program, many do not need a slave program. For example, a channel that handles SMTP over TCP/IP doesn't use a slave program because a network service, the SMTP server, receives incoming SMTP messages upon request by any SMTP server. The SMTP channel's master program is IMTA's SMTP client.

A master_shutdown command may be associated with each channel that contains master programs. This will be the command to stop the master program if the job controller is stopped. Such commands are useful for master programs which run like daemons. The format is:

 
master_shutdown = path
 

path is the full pathname to the shutdown executable.

If the destination system associated with the channel cannot handle more than one message at a time, you need to create a new type of queue whose job limit is one:

 
[QUEUE = single_job]
 
job_limit = 1
 
capacity = 200 
 

On the other hand, if the destination system has enough parallelism, you can set the job limit to a higher value. The capacity defines the maximum number of requests which the job_controller will store at given time. Requests that are received after the limit has been reached are ignored.




Copyright © 1999 Sun Microsystems, Inc. All Rights Reserved.