Previous Topic: JOBNAME Statement—Specify Job Name (SAP Jobs)Next Topic: JOBQ Statement—Specify the Job Queue for a Program


JOBOBJECT Statement—Associate Windows Job with a Windows Job Object

The JOBOBJECT statement creates a new Windows job object and associates a Windows job with it or associates a Windows job with an existing Windows job object.

Supported Job Type

This statement is optional for the Windows job type.

Syntax

This statement has the following format:

JOBOBJECT job_object_name [CREATE|ASSIGN]
    [JOBMEMORY(job_memory [BYTES|KILOBYTES|MEGABYTES|GIGABYTES])]
    [PROCESSMEMORY(process_memory [BYTES|KILOBYTES|MEGABYTES|GIGABYTES])]
    [JOBTIME(job_time)]
    [PROCESSTIME(process_time)]
    [PRIORITY(HIGH|ABOVE_NORMAL|NORMAL|BELOW_NORMAL|IDLE)]
    [PROCESSLIMIT(process_limit)]
job_object_name

Specifies the name of the new Windows job object or of an existing Windows job object that you want to add this job to.

Limits: Up to 256 characters; case-sensitive

Note: If you are creating a new Windows job object, the name must be unique; there cannot be an existing Windows job object with the same name.

CREATE|ASSIGN

(Optional) Specifies whether to create a new Windows job object or associate the job with an existing Windows object.

CREATE

Creates a new Windows job object and associates the job with it. This is the default.

ASSIGN

Associates the job with an existing Windows job object.

JOBMEMORY(job_memory [BYTES|KILOBYTES|MEGABYTES|GIGABYTES])

(Optional) Defines the maximum virtual memory allocated to all processes associated with the Windows job object in bytes (default), kilobytes, megabytes, or gigabytes.

Limits: Up to 12 numeric digits, followed by the unit of measure

Examples: 50 MEGABYTES, 500 KILOBYTES

Note: If the total memory used for all processes associated with the Windows job object exceeds this limit, the job that is trying to use memory fails.

PROCESSMEMORY(process_memory [BYTES|KILOBYTES|
MEGABYTES|GIGABYTES])

(Optional) Defines the maximum virtual memory allocated to each process associated with the Windows job object in bytes (default), kilobytes, megabytes, or gigabytes.

Limits: Up to 12 numeric digits, followed by the unit of measure

Examples: 50 MEGABYTES, 500 KILOBYTES

Note: If the memory used for a single process exceeds this limit, the job fails.

JOBTIME(job_time)

(Optional) Defines the maximum CPU time in milliseconds allocated to all processes associated with the Windows job object.

Limits: Up to 64 numeric digits

Example: 4000000

Note: If the total CPU time for all processes associated with the Windows job object exceeds this limit, all jobs associated with the job object fail.

PROCESSTIME(process_time)

(Optional) Defines the maximum CPU time in milliseconds allocated to each process associated with the Windows job object.

Limits: Up to 64 numeric digits

Example: 180000

Note: If the CPU time used for a single process exceeds this limit, the job fails.

PRIORITY(HIGH|ABOVE_NORMAL|NORMAL|BELOW_NORMAL|IDLE)

(Optional) Specifies the process priority for all processes in the job object as follows:

HIGH

Indicates processes that must be executed immediately. These processes can use nearly all available CPU time.

ABOVE_NORMAL

Indicates processes that have priority above the normal level but below the high level.

NORMAL

Indicates processes without special scheduling needs. This is the default.

BELOW_NORMAL

Indicates processes that have priority above the idle level but below the normal level.

IDLE

Indicates processes that will run only when the system is idle.

PROCESSLIMIT(process_limit)

(Optional) Defines the maximum number of simultaneously active processes allowed in the Windows job object.

Limits: Up to 12 numeric digits

Example: 10

Notes:

Example: Create a New Windows Job Object and Assign a Windows Job to It

The following job definition creates a Windows job object named payjobsobject. Payjobsobject can use up to 40 MB of memory (41943040 bytes) and 1 hour of CPU time (3600000 milliseconds) for all processes it contains. Each process associated with payjobsobject has a higher than normal priority and can use up to 500 KB of memory (512000 bytes) and 3 minutes of CPU time (180000 milliseconds). Payjobsobject can have up to 10 simultaneously active processes.

AGENT WINAGENT
CMDNAME myscript.bat
JOBOBJECT payjobsobject CREATE JOBMEMORY(41943040) +
  PROCESSMEMORY(512000) JOBTIME(3600000) PROCESSTIME(180000) +
  PRIORITY(ABOVE_NORMAL) PROCESSLIMIT(10)