Job Controller Configuration
At startup, the Job Controller reads a configuration file that specifies
parameters, pools, and channel processing information. This configuration
information is specified in the file job_controller.cnf in
the msg_svr_base/config/ directory.
For more information on the Job Controller, see the Chapter 10, About MTA Services and Configuration, in Sun Java System Messaging Server 6 2005Q4 Administration Guide.
Job Controller Configuration File
In accordance with the format of the MTA option files, the Job Controller configuration file contains lines of the form:
In addition to option settings, the file may contain a line consisting
of a section and value enclosed in square-brackets ([ ]) in the form:
Such a line indicates that option settings following this line apply
only to the section named by value. Initial option
settings that appear before any such section tags apply globally to all sections.
Per section option settings override global defaults for that section. Recognized
section types for the Job Controller configuration file are POOL, to
define pools and their parameters, and CHANNEL, to define
channel processing information and PERIODIC_JOB for the
various periodic jobs started by the Job Controller. The PERIODIC_JOB is deprecated and will be removed in a future release. Use the local.schedule.periodic_job configutil parameter
instead.
Any options permitted on POOL or CHANNEL sections can be specified at the beginning (general options), thus
becoming the default for the option.
The Job Controller configuration file options are described in the following three tables (Table 4–23, Table 4–24,
and Table 4–25). They are split into
general options, pool options, and channel options groups.
Table 4–23 shows the general
Job Controller configuration options.
Table 4–23 General Job Controller Configuration
File Options
Option
|
Description
|
COMMAND
|
Specifies the command to be run periodically in a PERIODIC_JOB section.
The PERIODIC_JOB is deprecated and will be removed
in a future release. Use the local.schedule.periodic_job configutil parameter instead.
|
DEBUG=integer
|
If DEBUG is set to a value other than zero, the MTA
writes debugging information to a file in the msg_svr_base/imta/log directory named job_controller-uniqueid, where uniqueid is a unique
ID string that distinctively identifies the file name. The imsimta purge utility recognizes the uniqueids and can be used to remove older
log files. The value for DEBUG is a bit mask specifying
what sort of debugging information is requested:
-
1—Trace protocol messages between
the Job Controller and other MTA components.
-
2—More detailed analysis of the messages
and interactions.
-
4—State change events.
-
8—Trace rebuild decisions.
-
16—Dump each queue on every queue
action.
-
32—Be cautious about deleting items
from queues.
-
64—Perform queue integrity check
on every queue operation
-
128—Verbose output about operation
of select.
Specifying bit value 16 can cause
log files to grow very quickly. Specifying 32 does not
generate any more output, and should only be used in extreme cases. If DEBUG is not specified, it defaults to 0.
|
INTERFACE_ADDRESS=adapter
|
Specifies the IP address interface to which the Job Controller should
bind. The value specified (adapter) can be one of ANY, ALL, LOCALHOST, or an IP address. By default
the Job Controller binds to all addresses (equivalent to specifying ALL or ANY). Specifying INTERFACE_ADDRESS=LOCALHOST means that the Job Controller only accepts connections from within
the local machine. This does not affect normal operation, since no inter-machine
operation is supported by the Job Controller. However, this may be inappropriate
in an HA environment where an HA agent may be checking if the Job Controller
is responding. If the machine on which the Messaging Server is running is
in an HA environment, has an “internal network” adapter and an “external
network” adapter, and you are not confident of your firewall’s
ability to block connections to high port numbers, you should consider specifying
the IP address of the “internal network” adapter.
|
MAX_MESSAGES=integer
|
The Job Controller keeps information about messages in an in-memory
structure. In the event that a large backlog builds, it may need to limit
the size of this structure. If the number of messages in the backlog exceeds
the parameter specified here, information about subsequent messages is not
kept in memory. Mail messages are not lost because they are always written
to disk, but they are not considered for delivery until the number of messages
known by the Job Controller drops to half this number. At this point, the
Job Controller scans the queue directory mimicking an imsimta cache
-sync command.
The default is 100000.
|
SECRET=file_spec
|
Shared secret used to protect requests sent to the Job Controller.
|
SYNCH_TIME=time_spec
|
The Job Controller occasionally scans the queue files on disk to check
for any new message files that are missing from the Job Controller’s
list of messages that need to be added. By default, this takes place every
four hours, starting four hours after the Job Controller is started. The format
of the time_spec is HH:MM/hh:mm or /hh:mm. The variable hh.mm is the interval between the events in hours (h) and minutes (m). The variable HH:MM is the first
time in a day the even should take place. For example specifying, 15:45/7:15
starts the event at 15:45 and every seven hours and fifteen minutes from then.
|
TCP_PORT=integer
|
Specifies the TCP port on which the Job Controller should listen for
request packets. Do not change this unless the default conflicts with another
TCP application on your system. If you do change this option, change the corresponding IMTA_JBC_SERVICE option in the MTA tailor file, msg_svr_base/config/imta_tailor, so that it matches.
The TCP_PORT option applies globally and is ignored if
it appears in a [CHANNEL] or [POOL]
section.
|
TIME=time_spec
|
Specifies the time and frequency that a periodic job is run in a PERIODIC_JOB section. By default, this is /4:00, which means every
four hours. The format of time_spec is HH:MM/hh:mm or /hh:mm. hh.mm is
the interval between the events in hours (h) and
minutes (m). HH:MM is the first time in a day that a
job should occur. For example, specifying 15:45/7:15 starts the event at 15:45
and every seven hours and fifteen minutes from then. The PERIODIC_JOB is deprecated and will be removed in a future release. Use the local.schedule.periodic_job configutil parameter
instead.
|
Table 4–24 describes the POOL option for the Job Controller configuration.
Table 4–24 Job Controller
POOL Option
Option
|
Description
|
JOB_LIMIT=integer
|
Specifies the maximum number of processes that the pool can use simultaneously
(in parallel). The JOB_LIMIT applies to each pool individually;
the maximum total number of jobs is the sum of the JOB_LIMIT parameters
for all pools. If set outside of a section, it is used as the default by any
[POOL] section that doesn’t specify JOB_LIMIT. This option is ignored inside of a [CHANNEL]
section.
|
Table 4–25 describes the CHANNEL options for the Job Controller configuration.
Table 4–25 Job Controller
CHANNEL Options
Option
|
Description
|
MASTER_COMMAND=file_spec
|
Specifies the full path to the command to be executed by the UNIX system
process created by the Job Controller to run the channel and dequeue messages
outbound on that channel. If set outside of a section, it is used as the default
by any [CHANNEL] section that doesn’t specify a MASTER_COMMAND. This option is ignored inside of a [POOL] section.
|
MAX_LIFE_AGE=integer
|
Specifies the maximum life time for a channel master job in seconds.
If this parameter is not specified for a channel, then the global default
value is used. If no default value is specified, 14400 (240
minutes) is used.
|
MAX_LIFE_CONNS=integer
|
In addition to the maximum life age parameter, the life expectancy of
a channel master job is limited by the number of times it can ask the Job
Controller if there are any messages. If this parameter is not specified for
a channel, then the global default value is used. If no default value is specified, 300 is used.
|
SLAVE_COMMAND=file_spec
|
Specifies the full path to the command to be executed by the UNIX system
process created by the Job Controller in order to run the channel and poll
for any messages inbound on the channel. Most MTA channels do not have a SLAVE_COMMAND. If that is the case, the reserved value NULL should
be specified. If set outside of a section, it is used as the default by any
[CHANNEL] section that doesn’t specify a SLAVE_COMMAND. This option is ignored inside of a [POOL] section.
|