Hitachi

JP1 Version 12 JP1/Automatic Job Management System 3 System Design (Work Tasks) Guide


2.1.4 Job definition considerations

This section describes the considerations that apply when you define the content of a job.

For information about the items that can be defined, see the explanations of the Define Details dialog boxes for each job in 12. Windows and Dialog Boxes in the JP1/Automatic Job Management System 3 Operator's Guide.

Organization of this subsection

(1) Execution agent

You can specify the name of the agent that is to execute a job. In systems that use execution agent restriction, you can select execution agents from a list of execution agent profiles. An execution agent is a logical name representing the agent host to which the job is to be distributed. Based on the execution agent information defined in the manager host, the manager maps the execution agent specified in the job to the physical host name of the agent host, and distributes the job accordingly.

By specifying an execution agent group, you can distribute the processing load among a group of execution agents. The manager distributes jobs among the execution agents according to their assigned priorities.

You can specify an execution agent for the following job types:

#

Event jobs do not support operations that use execution agent groups. For details, see 7.6 Notes on using event jobs.

A queueless job requires that you specify a target host. However, you can use execution agent restriction for queueless jobs by setting the desired target host in an execution agent profile.

(2) Execution priority

You can set the priority of the processes that start when JP1/AJS3 runs an executable file. Determine whether you need to set execution priorities for jobs. For example, you might want to prioritize the processing of a certain executable file so that it finishes earlier.

JP1/AJS3 assigns a low default execution priority when none is specified for a job. This is to prevent some jobs from monopolizing system resources and taking down the entire JP1/AJS3 system, for example when a job executed from JP1/AJS3 goes into a loop. However, jobs with a low execution priority also have a lower CPU priority. This means that while the CPU is being monopolized by processes with a high execution priority, jobs executed from JP1/AJS3 can be forced to wait for long periods until the CPU becomes available. As a result, jobs might take a long time to finish, or job processes might remain in a stopped state. If one of these job processes places a lock on a resource while waiting for the CPU to become available, this will affect the execution of other processes that are waiting for the same resource to become available.

Such problems tend to occur more markedly in system configurations that have relatively high CPU usage, such as single-processor systems and configurations where multiple processes with high execution priorities are processed at the same time. Determine whether your system environment or manner of operation requires you to raise job execution priorities.

(3) End judgment

Consider which method to use to judge whether a process has ended successfully. You can judge the execution results of standard jobs and HTTP connection jobs. JP1/AJS3 provides five methods of end judgment:

For judgment based on a threshold, you can evaluate whether a job ended normally, ended with a warning, or ended abnormally, by locating the job's return code relative to the threshold. The job ends normally if the return code at termination falls below the warning threshold, and ends with a warning if the return code exceeds the warning threshold but falls below the abnormal threshold. If the return code exceeds the abnormal threshold, the job ends abnormally.

Return values are interpreted as unsigned integers. For example, -1 is handled as 4,294,967,295 in Windows, and as 255 in UNIX.

(4) Retry on abnormal end

Determine whether to perform an automatic retry without setting a failed job in the Ended abnormally status if an executable file defined for the job ends abnormally. If the executable file failure was caused by a temporary error, an automatic retry corrects the job error so that operation can continue. For details, see 2.4.13 Automatic retry for abnormally ending jobs.

(5) Transfer files

With a standard job, if the executable files required to execute the job are not already present in the agent host, you can transfer the files from the manager host to the agent host. If you use the jpqjobsub command to execute submit jobs, you can also transfer the files from the host where the jpqjobsub command is executed for the target agent host and execute the files there. Note that you can only transfer text files for both standard jobs and submit jobs.

Also note that flexible jobs cannot be used to transfer files.

(6) Target service

To use a queueless job, specify Queueless Agent as the job's execution target service. The default is Standard.

Queueless jobs offer improved performance compared with normal queued jobs, and more jobs can be executed within a given period of time. For information on queueless jobs, see 10.5 Queueless jobs in the manual JP1/Automatic Job Management System 3 Overview.

However, because queueless jobs cannot be associated with an execution agent or agent group, we recommend the use of ordinary queued jobs in most circumstances.

(7) Timeout period

If you set a timeout period for a job, the job will be canceled when a specific length of time has passed since the job started. Decide the timeout period to impose in situations where the processing does not complete for some reason. By timing-out job execution, you can investigate the cause of the problem, perform processing to notify the system administrator, and execute specific processing to be performed only in the event of abnormal termination.

(8) End delay monitoring

By setting the time required to execute a job, you can monitor for end delays based on how much time has passed since the job started. For details, see 5. Monitoring Method Considerations.

(9) JP1 resource groups

Consider the user access permissions you need to assign to each job. For details, see 6. Access Permission Considerations.

(10) Cautionary notes