Hitachi

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


8.1.1 Overview of the definition pre-check function and cautionary notes

This subsection describes the items that are checked by the definition pre-check function, describes the sequence of pre-check operations, and provides cautionary notes on using the function.

Organization of this subsection

(1) Checked items

The following table lists the items checked by the definition pre-check function.

Table 8‒1: Items checked by the definition pre-check function

Category

Description

Job execution order

  • Checks whether the execution order creates a loop.

  • Checks whether a dependent unit is connected to a judgment job by a condition.

  • Checks whether relations other than conditions are defined for dependent units.

Detailed definition of a jobnet

Jobnet connector

Connection range#1

Checks whether the connection range matches that specified for the connection-destination jobnet.

Connection host#1

Checks whether the specified host is accessible.

Connection service

Checks whether the specified scheduler service exists.

Connect destination

Performs the following:

  • Checks whether a connection-destination jobnet is specified.

  • Checks whether the specified unit is a root jobnet or a planning group.

  • Checks whether the specified unit exists.

  • Checks whether the specified unit is subject to execution order control.

  • Checks whether the specified unit specifies a different host.

  • Checks whether the specified unit specifies a different scheduler service.

  • Checks whether the specified unit specifies a different jobnet connector.

Wait condition

Checks the following:

  • Whether the specified units whose ends are being waited for exist.

  • Whether the unit whose end is being waited for is a type that can be specified as a unit whose end is being waited for#2.

Execution agent restriction

Checks whether the execution agent is permitted on the manager side.#3, #4, #5

Empty job definition

For a Unix job, checks whether a Script file name or Command statement is specified.

For a PC job, checks whether a File name is specified.

For a Receive JP1 event job, checks whether a Event ID is specified.

Execution agent name

  • Unix job

  • PC job

  • Action job

When Standard is specified as the Exec. service#6

Performs the following:

  • Checks whether the agent host is registered with the manager.

  • Checks whether the manager can resolve the execution host name (agent host name) set for the execution agent.

  • Checks whether the agent can resolve the host name of the manager. #7

When Queueless Agent is specified as the Exec. service

Performs the following:

  • Checks whether the manager can resolve the host name of the agent.

  • Checks whether the agent can resolve the host name of the manager. #7

Event job

Performs the following:

  • Checks whether the agent host is registered with the manager.

  • Checks whether the manager can resolve the execution host name (agent host name) set for the execution agent.

  • Checks whether the agent can resolve the host name of the manager. #7

  • Jobnet#6

  • Custom job#6

  • Flexible job#5, #6

  • HTTP connection job#6

Performs the following:

  • Checks whether the execution agent is registered with the manager.

  • Checks whether the manager can resolve the execution host name (agent host name) set for the execution agent.

  • Checks whether the agent can resolve the host name of the manager. #7

User mapping

Checks whether user mapping can be performed correctly on the agent. This check uses the same method for JP1 users, execution source hosts, and OS users as when normal jobs are executed. Note that JP1/AJS3 does not check whether the OS user mapped to a JP1 user actually exists.

Note that if you use the execution-user fixing function, the definition pre-check checks the user mapping of the fixed JP1 user according to the contents of the unit-attribute profile. #3, #5

Detailed definition of a job

Unix job

Script file name #9

Checks whether the file exists on the Agent.

Environment file

  1. Checks whether the file exists on the Agent.

  2. Checks the access permission for the file.

Working path

  1. Checks whether the path exists on the Agent.

  2. Checks the access permission for the path.

Standard input

  1. Checks whether the file exists on the Agent.

  2. Checks the access permission for the file.

Standard output

  1. Checks whether the directory containing the file exists on the Agent.

  2. If the file exists, checks the access permission for the file.

Standard error

  1. Checks whether the directory containing the file exists on the Agent.

  2. If the file exists, checks the access permission for the file.

User name

Checks the user by user mapping.

File to transfer#9

  1. Checks whether the file exists on the Manager.

  2. Checks the access permission for the file.

Destination file#9

  1. Checks whether the file exists on the Agent.

  2. Checks the access permission for the file.

PC job

File name#9

Checks whether the file exists on the Agent.

Environment file

Checks whether the file exists on the Agent.

Working path

Checks whether the path exists on the Agent.

Standard input

Checks whether the file exists on the Agent.

Standard output

Checks whether the directory containing the file exists on the Agent.

Standard error

Checks whether the directory containing the file exists on the Agent.

User name

Checks the user by user mapping.

File to transfer#9

Checks whether the file exists on the Manager.

Destination file#9

Checks whether the file exists on the Agent.

Receive JP1 Event job

Event ID

Checks whether the event ID confirms to the proper format.

Find events prior to execution

Checks whether the pre-search time is within the specified range.

Monitoring File job

Monitoring file

Checks the format of the file name.

Receive Mail job

Platform

Checks whether the OS matches that of the execution destination host.

Common to action jobs

Platform

Checks whether the OS matches that of the execution destination host.#8

Permission for executing files#9, #10, #11

Checks whether the OS user who executes the job has execution and read permission for the target file. This check uses the same method as when normal jobs are executed. However, for queueless jobs executed in UNIX, the execution permission is not checked when the OS user executing a job has superuser permission (that is, the root user).

Note that JP1/AJS3 checks execution-file permissions only for the primary group of the OS user who executes the job.

#1

When Connection range is set to Other service and the connection source restriction function is enabled on the destination host, you must configure the manager connection permission configuration file to include the IP addresses of the hosts on which jobnet connectors are defined. If you perform a definition pre-check without configuring the file, the number of checked units shown for NUMBER OF CHECKUNITS in the check results will be reduced by the number of jobnet connectors, and the message KAVS3431-I will be output to the integrated trace log.

#2

If you specify a root jobnet or a unit in the root jobnet as a unit whose end is being waited for, a check is conducted regardless of whether a start condition is used.

If you specify a nested jobnet or job in a planning group as a unit whose end is being waited for, the definition is not checked for errors.

A definition pre-check does not check whether a wait condition produces an execution sequence loop.

#3

Regardless of the profile status (enabled or disabled), the check will be performed based on the profile specified by the ajschkdef command.

#4

Whether the execution agent is set in the execution agent profile or not is checked. Therefore, the jobs that are set in the execution agent profile as not subject to restriction checking when executed (JobExec=off) will still be checked.

#5

For flexible jobs, replace agent with relay agent. The destination agent is not checked.

#6

This item is not checked if the name of an execution agent group is specified.

#7

If NAT (network address translation) is used for communication between the agent and the manager, the check in this item results in an error because on the agent host and the manager host, the manager host name is resolved to different IP addresses. You can disregard the error if there are no problems with the configuration.

#8

You cannot specify the platform for the MSMQ message sending job because the MSMQ message sending job cannot be executed in a UNIX environment. Therefore, assume that PC has been specified as the platform, and perform a definition pre-check on the MSMQ message sending job.

#9

This item is not checked if a relative path or a UNC path is specified.

#10

PC jobs (on a Windows host) are not checked.

#11

Flexible jobs are not checked.

(2) Pre-check sequence

The following figure shows the flow of a definition pre-check.

Figure 8‒2: Flow of the definition pre-check process

[Figure]

(3) Cautionary notes

Note the following when performing a definition pre-check:

  1. Do not run a definition pre-check while the system is being used to perform business tasks. Doing so can lead to the following problems:

    • Access contention for the scheduler database reduces job processing performance.

    • The system load might temporarily spike, causing errors during job execution processing.

  2. To run a definition pre-check, the JP1/AJS3 service must be started on the manager.

  3. You cannot perform multiple definition pre-checks simultaneously.

  4. If you specify a file name and parameters in the Script file name field for a Unix job or in the File name field for a PC job, the definition pre-check detects an error.

  5. Information passed from events is not checked.

  6. Macro variables are not checked.

  7. Environment variables are not checked.

  8. The job definition items that is specified with Variables in the $variable-name$ format are not checked. If $ is used twice or more in the definition precheck, the system assumes that variables are used in the definition pre-check.

  9. In UNIX, JP1/AJS3 Check Manager service does not use the port number for the jp1ajs2chkman service specified in the services file.

  10. JP1/AJS3 checks the access permissions for a script file in a different way from that used during actual operation. Therefore, the definition pre-check may detect an error for a job that would end normally.

  11. Messages KAVS3400 to KAVS3431 are output only to the integrated trace log or the standard output.

  12. In Windows, when you specify a folder as an environment variable file, a standard input file, a standard output file, or a standard error output file, and execute the queueless agent service, the job ends normally but the pre-check detects an error.

  13. In UNIX, if you specify a directory as an environment variable file and execute the job by using the queueless agent service, the job ends normally but the pre-check detects an error.

  14. When you specify the -A option in the ajschkdef command, information about the OS user who executes the job is required in order to check the permissions for the executable file. Therefore, user mapping must also be checked. However, in a Windows system, the OS does not check the account details of the user who is specified in User name in the Define Details - [PC Job] dialog box.

  15. When both of the following conditions exist, temporary files are created before the definition pre-check:

    • In the definition of a Unix job, a non-existent file is specified for the Standard output, Standard error, or Destination file.

    • A definition pre-check is executed for this job with the -D option specified.

    The temporary files are created in the location specified for the Standard output, Standard error, or Destination file of jobs that meet these conditions. As a result, the update time for the parent directory of the specified file might change. The temporary files are deleted when the check is finished.

  16. The following units and their lower-level units are not checked:

    • Remote Jobnet

    • Manager jobnet

    • Manager job group

  17. If the jobnet release function is used, a pre-check is conducted only on the definition items for which the release status is Being applied. Because the definition pre-check cannot be performed on definitions whose release status is Release wait, check the jobnet that is the release source.

  18. Even when the connection source restriction function is enabled, the definition pre-check function does not check whether the manager host is able to connect to the destination agent host. The definition pre-check function does not detect any error as long as the definition is correct, including when the unit is defined to execute on an agent host that cannot be connected to. However, to perform the definition pre-check for a jobnet connector whose Connection range is set to Other service, the destination host must permit connection from the host for which the jobnet connector is defined.

  19. Do not use an alias for the agent host name of a target jobs. If an alias for the agent host name of a target jobs is used, the pre-check result might not be output correctly.

(4) Notes on definition pre-checks in a cluster system

Note the following when performing a definition pre-check in a cluster system:

  1. In a cluster system, when you perform a definition pre-check for units in a logical host, run the check on the primary node of the logical host. You cannot check unit definitions on the standby node.

  2. If a failover occurs while you are checking units on the primary node of the logical host in a cluster system, the checking process is interrupted. Pre-checks are not resumed after a failover to the standby node.