(Click to open topic with navigation)
See the associated Job Arrays resource section for more information on how to use this resource and supported operations.
Additional references
Type | Value | Additional information |
---|---|---|
Permissions resource | job-arrays | Permissions |
Hooks filename | job-arrays.groovy | Pre- and Post-Processing Hooks |
Distinct query-supported | No | Distinct |
Job arrays are an easy way to submit many sub-jobs that perform the same work using the same script, but operate on different sets of data. Sub-jobs are the jobs created by an array job and are identified by the array job ID and an index; for example, if 235[1] is an identifier, the number 235 is a job array ID, and 1 is the sub-job.
Field Name | Type | POST | Description |
---|---|---|---|
cancellationPolicy | CancellationPolicyInformation | Yes |
Represents the cancellation policy to use for the job array. |
indexRanges | List<JobArrayIndexRange> | Yes |
The index ranges used to generate the sub-job indices. To use hard-coded values, see indexValues. |
indexValues | List<Long> | Yes |
The index values to use for the sub-jobs. To use ranges, see indexRanges. |
jobPrototype | Job | Yes |
The definition of the job to use for each sub-job. |
name | String | Yes |
The name of the job array. In MWS API version 1, this is stored in the |
slotLimit | Long | Yes |
(Optional) The number of sub-jobs in the array that can run at a time. |
Job arrays can be canceled based on the success or failure of the first or any sub-job. This class represents the failure policies.
Field Name | Type | POST | Description |
---|---|---|---|
anyJob | CancellationPolicy | Yes |
The cancellation policy based on the result of any sub-job. May be used in combination with firstJob. |
firstJob | CancellationPolicy | Yes |
The cancellation policy based on the result of the first sub-job (array index 1). May be used in combination with anyJob. |
This enumeration represents job array cancellation policies, and is to be used in combination with CancellationPolicyInformation.
Value | Description |
---|---|
SUCCESS | Cancels the job array if the specified sub-job succeeds. |
FAILURE | Cancels the job array if the specified sub-job fails. |
Represents information about a job index expression. This is used when creating job arrays only.
This class represents a job in the Moab Workload Manager. A job is a request for compute resources (CPUs, memory, storage) with which the requester can do work for a given amount of time. In an HPC environment, this might be a batch script to perform a Monte Carlo simulation. In a cloud environment, this would be a virtual machine and its associated storage. Moab will evaluate the request and assign the requested resources to the requester based on policies, current demand, and other factors in the data center. A job will also usually have some process that Moab starts automatically at the assigned start time. In an HPC environment, this can be starting a batch script on the assigned nodes. In a cloud environment, this can be starting provisioning processes to create the virtual machine and storage and install software on it.
Field Name | Type | POST | Description |
---|---|---|---|
id | String | No |
The unique identifier of this job. Note: this field is not user-assigned and is generated by the database. |
arrayIndex | Long | No |
If this job is a sub-job of a JobArray, this field contains the index of this job in the array. For example, if this job is |
arrayMasterName | String | No |
If this job is a sub-job of a JobArray, this field contains the name of the job array master. For example, if this job is |
attributes | Set<String> | Yes |
The list of generic attributes associated with this job. |
blocks | Set<JobBlock> | No |
Reasons the job is blocked from running. |
bypassCount | Integer | No |
The number of times the job has been backfilled. |
cancelCount | Integer | No |
The number of times a job has received a cancel request. |
commandFile | String | Yes |
The name of the job script file (absolute path). If commandFile is set and commandScript is not set, then MWS must have read access to the file. If commandFile and commandScript are both set, then MWS does not read the contents of the file, but it does provide the name of the file to Moab. Note that Moab changes the contents of the commandFile field and the contents of the file pointed to by commandFile. For the original path and file contents, see submitCommandFile. |
commandLineArguments | String | Yes |
The command line arguments passed to the job script specified by commandFile or commandScript. Must be enclosed in quotes. Example: "commandLineArguments": "\"a b c\"" |
commandScript | String | Yes |
The contents of the job script. This field must be Base64-encoded. |
completionCode | Integer | No |
The exit code from this job. |
cpuTime | Long | No |
CPU usage time in seconds as reported by the resource manager. |
credentials | JobCredentials | Yes |
The credentials (user and group, for example) associated with this job. |
customName | String | Yes |
The user-specified name of this job. This field must not contain any spaces. |
dates | JobDates | Yes |
Various dates associated with this job. |
deferCount | Integer | No |
The number of times a job has been deferred. |
dependencies | Set<JobDependency> | Yes |
Dependencies that must be fulfilled before the job can start. |
description | String | No |
The description of the job. Can be set only in a job template. |
duration | Long | Yes |
The length of time in seconds requested for the job. Note that it is possible to set duration to "INFINITY" if the AllowInfiniteJobs flag is set on the scheduler in the moab.cfg. |
durationActive | Long | No |
The length of time in seconds the job has been active or running. |
durationMinimum | Long | No |
Minimum duration of the job (used when automatically extending durations). See JOBEXTENDDURATION in the Moab Workload Manager Administrator Guide. |
durationQueued | Long | No |
The length of time in seconds the job has been eligible to run in the queue. |
durationRemaining | Long | No |
An estimate of the time remaining, in seconds, before the job will complete. |
durationSuspended | Long | No |
The length of time in seconds the job has been suspended. |
emailNotifyAddresses | Set<String> | Yes |
The list of addresses to whom email is sent by the execution server. |
emailNotifyTypes | Set<JobEmailNotifyType> | Yes |
The list of email notify types attached to the job. |
environmentRequested | Boolean | Yes |
Setting this field to true tells the Moab Workload Manager to set various variables, if populated, in the job's environment. |
environmentVariables | Map<String, Map> | Yes |
The environment variables to set for this job. This field is defined only during POST. On GET, this field is an empty object. (See also: fullEnvironmentVariableList.) |
epilogScript | String | Yes |
The path to the TORQUE epilog script. |
flags | Set<JobFlag> | Yes |
The flags that are set on this job. |
fullEnvironmentVariableList | String | No |
The full list of all environment variables for this job, including variables set by the resource manager, if any. (See also: environmentVariables.) |
holdDate | Date | No |
The date the most recent hold was placed on the job. |
holdReason | JobHoldReason | No |
The reason the job is on hold. |
holds | Set<JobHoldType> | Yes |
The holds that are set on the job. The "User" hold type is valid during POST. |
initialWorkingDirectory | String | Yes |
The path to the directory in which the job will be started. |
isActive | Boolean | No |
True if the job is active, false if the job is complete. |
jobGroup | String | Yes |
The job group to which this job belongs (different from credentials.group). |
masterNode | DomainProxy | No |
The first node in the list of allocated nodes for this job. For TORQUE jobs, this represents the "mother superior." |
memorySecondsDedicated | Double | No |
The memory seconds dedicated to the job as reported by its resource manager. Not all resource managers provide this information. |
memorySecondsUtilized | Double | No |
The memory seconds utilized by the job as reported by its resource manager. Not all resource managers provide this information. |
messages | Set<Message> | No |
The list of messages associated with the job. The "message" field is valid during PUT. |
migrateCount | Integer | No |
The number of times the job has been migrated. |
minimumPreemptTime | Long | No |
The minimum length of time, in seconds, an active job must be running before it is eligible for preemption. |
mwmName | String | No |
The name of the Moab Workload Manager instance that owns this job. |
name | String | No |
The name of this job. This name is unique per instance of Moab Workload Manager (i.e. not globally). |
nodesExcluded | Set<DomainProxy> | Yes |
The list of nodes that should not be considered for this job. |
nodesRequested | Set<DomainProxy> | Yes |
The exact set, superset, or subset of nodes on which this job must run. (See also: nodesRequestedPolicy.) |
nodesRequestedPolicy | JobHostListMode | Yes |
Indicates an exact set, superset, or subset of nodes on which the job must run. Only relevant if nodesRequested is provided. (See also: nodesRequested.) |
partitionAccessList | Set<String> | No |
The list of partitions that this job can access. |
partitionAccessListRequested | Set<String> | Yes |
The list of partitions that this job has requested. |
partitionAccessListScheduler | Set<String> | No |
The feasible partition access list built by the scheduler. |
preemptCount | Integer | No |
The number of times the job has been preempted. |
priorities | JobPriority | Yes |
The list of priorities for the job. |
processorSecondsDedicated | Double | No |
The processor seconds dedicated to the job as reported by its resource manager. Not all resource managers provide this information. |
processorSecondsLimit | Double | No |
The limit for processorSecondsUtilized. |
processorSecondsUtilized | Double | No |
The processor seconds utilized by the job as reported by its resource manager. Not all resource managers provide this information. |
prologScript | String | Yes |
The path to the TORQUE prolog script. |
queueStatus | JobQueueStatus | No |
The status of the job in its queue. |
rank | Integer | No |
The index of this job in the eligible queue. |
rejectPolicies | Set<JobRejectPolicy> | No |
The list of policies enabled when a job is rejected. |
requirements | Set<JobRequirement> | Yes |
The list of items required for this job to run. Only JobRequirement.features is valid during PUT. |
reservationRequested | DomainProxy | Yes |
The reservation that the job requested. |
resourceFailPolicy | JobResourceFailPolicyType | Yes |
The policy that dictates what should happen to the job if it is running and at least one of the resources it is using fails. |
resourceManagerExtension | String | Yes |
If provided during POST, this string will be added to the resource manager extension section of the job submission. Example: "bandwidth=120;queuejob=false" |
resourceManagers | Set<ResourceManager> | No |
The list of resource managers associated with this job. |
shellName | String | Yes |
Declares the shell that interprets the job script. |
standardErrorFilePath | String | Yes |
The path to the file containing the standard error of the job. |
standardOutputFilePath | String | Yes |
The path to the file containing the standard output of the job. |
startCount | Integer | No |
The number of times the job has been started. |
states | JobStateInformation | No |
Information about the state of the job. |
submitCommandFile | String | No |
This read-only field contains the path to the original commandFile as posted to MWS during job submission. |
submitHost | String | No |
The host from which the job was submitted. |
systemJobAction | String | No |
The action the system job will take. |
systemJobType | JobSystemJobType | No |
The type of system job. In the Moab Cloud Suite, this will usually be "vmtracking" or "generic." |
targetedJobAction | JobActionType | No |
The action that this job is performing on another job. |
targetedJobName | String | No |
The name of the job on which this job is performing the targetedJobAction. |
templates | Set<DomainProxy> | Yes |
The list of all job templates to be set on this job. |
triggers | Set<String> | No |
The list of triggers associated with this job. |
variables | Map<String, Map> | Yes |
The list of variables that this job owns or sets on completion. |
virtualContainers | Set<DomainProxy> | Yes |
When submitting this job, add it to the specified existing virtual container. Valid during POST, but only one virtual container can be specified. |
virtualMachines | Set<DomainProxy> | No |
The list of virtual machines that are allocated to this job. |
vmUsagePolicy | VMUsagePolicy | Yes |
The requested Virtual Machine Usage Policy for this job. |
Field Name | Type | POST | Description |
---|---|---|---|
category | JobBlockCategory | No | |
createdDate | Date | No | |
message | String | No | |
partition | String | No | |
type | JobBlockType | No |
Value | Description |
---|---|
depend | |
jobBlock | |
migrate |
Value | Description |
---|---|
ActivePolicy | |
BadUser | |
Dependency | |
EState | |
FairShare | |
Hold | |
IdlePolicy | |
LocalPolicy | |
NoClass | |
NoData | |
NoResource | |
NoTime | |
PartitionAccess | |
Priority | |
RMSubmissionFailure | |
StartDate | |
State | |
SysLimits |
Moab Workload Manager supports the concept of credentials, which provide a means of attributing policy and resource access to entities such as users and groups. These credentials allow specification of job ownership, tracking of resource usage, enforcement of policies, and many other features.
Field Name | Type | POST | Description |
---|---|---|---|
name | String | Yes |
The name of the object on on which the job is dependent. |
type | JobDependencyType | Yes |
The type of job dependency. Only the "set" type is valid for POST. |
value | String | No |
Optional string representation of the dependency (used with variable dependencies). |
Represents the type of a job dependency. For now, only the "set" type is supported.
Value | Description |
---|---|
set | Job will wait until a variable on a Moab object is set before starting. |
Value | Description |
---|---|
JobStart | An email will be sent when the job starts. |
JobEnd | An email will be sent if the job successfully ends. |
JobFail | An email will be sent if the job fails. |
All |
This enumeration specifies the flag types of a job.
Value | Description |
---|---|
NONE | |
BACKFILL | The job is using backfill to run. |
COALLOC | The job can use resources from multiple resource managers and partitions. |
ADVRES | The job requires the use of a reservation. |
NOQUEUE | The job will attempt to execute immediately or fail. |
ARRAYJOB | The job is part of a job array. |
ARRAYJOBPARLOCK | This array job will only run in one partition. |
ARRAYJOBPARSPAN | This array job will span partitions (default). |
ARRAYMASTER | This job is the master of a job array. |
BESTEFFORT | The job will succeed if even partial resources are available. |
RESTARTABLE | The job is restartable. |
SUSPENDABLE | The job is suspendable. |
HASPREEMPTED | This job preempted other jobs to start. |
PREEMPTEE | The job is a preemptee and therefore can be preempted by other jobs. |
PREEMPTOR | The job is a preemptor and therefore can preempt other jobs. |
RSVMAP | The job is based on a reservation. |
SPVIOLATION | The job was started with a soft policy violation. |
IGNNODEPOLICIES | The job will ignore node policies. |
IGNPOLICIES | The job will ignore idle, active, class, partition, and system policies. |
IGNNODESTATE | The job will ignore node state in order to run. |
IGNIDLEJOBRSV | The job can ignore idle job reservations. The job granted access to all idle job reservations. |
INTERACTIVE | The job needs to interactive input from the user to run. |
FSVIOLATION | The job was started with a fairshare violation. |
GLOBALQUEUE | The job is directly submitted without doing any authentication. |
NORESOURCES | The job is a system job that does not need any resources. |
NORMSTART | The job will not query a resource manager to run. |
CLUSTERLOCKED | The job is locked into the current cluster and cannot be migrated elsewhere. This is for grid mode. |
FRAGMENT | The job can be run across multiple nodes in individual chunks. |
FORCEPROVISION | Job will provision nodes, whether they already have OS or not. |
SYSTEMJOB | The job is a system job which simply runs on the same node that Moab is running on. This is usually used for running scripts and other executables in workflows. |
ADMINSETIGNPOLICIES | The IGNPOLICIES flag was set by an administrator. |
EXTENDSTARTWALLTIME | The job duration (walltime) was extended at job start. |
SHAREDMEM | The job will share its memory across nodes. |
BLOCKEDBYGRES | The job's generic resource requirement caused the job to start later. |
GRESONLY | The job is requesting only generic resources, no compute resources. |
TEMPLATESAPPLIED | The job has had all applicable templates applied to it. |
META | META job, just a container around resources. |
WIDERSVSEARCHALGO | This job prefers the wide search algorithm. |
VMTRACKING | The job is a VMTracking job for an externally-created VM (via job template). |
DESTROYTEMPLATESUBMITTED | A destroy job has already been created from the template for this job. |
PROCSPECIFIED | The job requested processors on the command line. |
CANCELONFIRSTFAILURE | Cancel job array on first array job failure. |
CANCELONFIRSTSUCCESS | Cancel job array on first array job success. |
CANCELONANYFAILURE | Cancel job array on any array job failure. |
CANCELONANYSUCCESS | Cancel job array on any array job success. |
CANCELONEXITCODE | Cancel job array on a specific exit code. |
NOVMMIGRATE | Do not migrate the virtual machine that this job sets up. |
VCMASTER | Job is the master of a virtual container. |
USEMOABJOBID | Specifies whether to use the Moab job ID or the resource manager's job ID. |
JOINSTDERRTOSTDOUT | Join the stderr file to the stdout file. |
JOINSTDOUTTOSTDERR | Join the stdout file to the stderr file. |
PURGEONSUCCESSONLY | Only purge the job if it completed successfully |
ALLPROCS | Each job compute task requests all the procs on its node |
COMMLOCAL | Each job communications are localized, with minimal routing outside job shape |
COMMTOLERANT | Each job communications are low-intensity and insensitive to interference |
A reference to an object contained within an object. For example, a Virtual Machine object contains a reference to the Node on which it is running. That reference is represented by this class.
Field Name | Type | POST | Description |
---|---|---|---|
name | String | Yes |
The name of the object. |
Value | Description |
---|---|
superset | |
subset | |
exactset |
Value | Description |
---|---|
CANCEL | |
HOLD | |
IGNORE | |
RETRY |
Field Name | Type | POST | Description |
---|---|---|---|
architecture | String | Yes |
The architecture required by the job. |
attributes | Map<String, JobRequirementAttribute> | Yes |
Required node attributes with version number support. |
dedicateAllProcessors | Boolean | No |
Within a requirement, if dedicateAllProcessors is true, then all processors on the node where the job runs will be dedicated to the job. |
features | Set<String> | No |
The list of node features the job is scheduled against. |
featuresExcluded | Set<String> | Yes |
Excluded node features. That is, do not select nodes with these features. (See also: featuresExcludedMode.) |
featuresExcludedMode | JobRequirementFeaturesMode | Yes |
Indicates whether excluded features should be AND'ed or OR'd. The default is AND. Only relevant if featuresExcluded is provided. (See also: featuresExcluded.) |
featuresRequested | Set<String> | Yes |
Requested node features. (See also: featuresRequestedMode.) |
featuresRequestedMode | JobRequirementFeaturesMode | Yes |
Indicates whether requested features should be AND'ed or OR'd. The default is AND. Only relevant if featuresRequested is provided. (See also: featuresRequested.) |
image | String | Yes |
The image required by the job. |
index | Integer | No |
The index of the requirement, starting with 0. |
metrics | Map<String, Double> | No |
Generic metrics associated with the job as reported by the resource manager. |
nodeAccessPolicy | NodeAccessPolicy | Yes |
Specifies how node resources should be accessed. Note: If the job requirements array has more than one element that contains nodeAccessPolicy, only the first occurrence will be used. |
nodeAllocationPolicy | NodeAllocationPolicy | Yes |
Specifies how node resources should be selected and allocated to the job. Note: If the job requirements array has more than one element that contains nodeAllocationPolicy, only the first occurrence will be used. |
nodeCount | Integer | Yes |
The number of nodes required by the job. |
nodeSet | String | Yes |
The requested node set of the job. This must follow the format
|
nodes | Set<AllocatedNode> | No |
Nodes that have been allocated to meet this requirement. |
reservation | DomainProxy | No |
The allocated reservation (assigned after the job has a reservation). |
resourcesPerTask | Map<String, JobResource> | Yes |
Contains requirements for disk, memory, processors, swap, and generic resources. For disk, memory, and swap, the unit is MB. For each resource, the "dedicated" field can be set during POST. |
taskCount | Integer | Yes |
The number of tasks (processors) required by this job. |
tasksPerNode | Integer | Yes |
The number of tasks to map to each node. If you specify tasksPerNode, you must also specify taskCount. |
totalDedicatedProcessors | Integer | No |
Field Name | Type | POST | Description |
---|---|---|---|
comparator | String | Yes |
The comparison operator. Valid values:
|
displayValue | String | Yes |
The display value for the required attribute. |
restriction | JobRequirementAttributeRestriction | Yes |
The restriction of this attribute. May be null, but defaults to JobRequirementAttributeRestriction.must. |
value | String | Yes |
The value of the required attribute. During POST, if value is missing, blank, or null, do not provide a comparator. |
JobRequirementAttributeRestriction
Represents a restriction for a job requirement attribute.
Value | Description |
---|---|
must |
Value | Description |
---|---|
OR | |
AND |
This enumeration describes how node resources will be shared by various tasks.
Node Allocation enumeration.
Field Name | Type | POST | Description |
---|---|---|---|
name | String | No | |
taskCount | Integer | No |
Represents counts of dedicated and utilized resources.
Value | Description |
---|---|
CANCEL | |
FAIL | |
HOLD | |
IGNORE | |
NOTIFY | |
REQUEUE |
Field Name | Type | POST | Description |
---|---|---|---|
isDestination | Boolean | No | |
isSource | Boolean | No | |
jobName | String | No | |
name | String | No |
Field Name | Type | POST | Description |
---|---|---|---|
state | JobState | No | |
stateExpected | JobState | No | |
stateLastUpdatedDate | Date | No | |
subState | JobSubState | No |
Value | Description |
---|---|
Epilogue | |
Migrated | |
Preempted | |
Prologue |
Value | Description |
---|---|
DESTROY | |
MIGRATE | |
MODIFY |
This enumeration describes the virtual machine requirements of a job
Job arrays are an easy way to submit many sub-jobs that perform the same work using the same script, but operate on different sets of data. Sub-jobs are the jobs created by an array job and are identified by the array job ID and an index; for example, if 235[1] is an identifier, the number 235 is a job array ID, and 1 is the sub-job.
Field Name | Type | POST | Description |
---|---|---|---|
cancellationPolicy | CancellationPolicyInformation | Yes |
Represents the cancellation policy to use for the job array. |
indexRanges | List<JobArrayIndexRange> | Yes |
The index ranges used to generate the sub-job indices. To use hard-coded values, see indexValues. |
indexValues | List<Long> | Yes |
The index values to use for the sub-jobs. To use ranges, see indexRanges. |
jobPrototype | Job | Yes |
The definition of the job to use for each sub-job. |
name | String | Yes |
The name of the job array. In MWS API version 1, this is stored in the |
slotLimit | Long | Yes |
(Optional) The number of sub-jobs in the array that can run at a time. |
Job arrays can be canceled based on the success or failure of the first or any sub-job. This class represents the failure policies.
Field Name | Type | POST | Description |
---|---|---|---|
anyJob | CancellationPolicy | Yes |
The cancellation policy based on the result of any sub-job. May be used in combination with firstJob. |
firstJob | CancellationPolicy | Yes |
The cancellation policy based on the result of the first sub-job (array index 1). May be used in combination with anyJob. |
This enumeration represents job array cancellation policies, and is to be used in combination with CancellationPolicyInformation.
Value | Description |
---|---|
SUCCESS | Cancels the job array if the specified sub-job succeeds. |
FAILURE | Cancels the job array if the specified sub-job fails. |
Represents information about a job index expression. This is used when creating job arrays only.
This class represents a job in the Moab Workload Manager. A job is a request for compute resources (CPUs, memory, storage) with which the requester can do work for a given amount of time. In an HPC environment, this might be a batch script to perform a Monte Carlo simulation. In a cloud environment, this would be a virtual machine and its associated storage. Moab will evaluate the request and assign the requested resources to the requester based on policies, current demand, and other factors in the data center. A job will also usually have some process that Moab starts automatically at the assigned start time. In an HPC environment, this can be starting a batch script on the assigned nodes. In a cloud environment, this can be starting provisioning processes to create the virtual machine and storage and install software on it.
Field Name | Type | POST | Description |
---|---|---|---|
id | String | No |
The unique identifier of this job. Note: this field is not user-assigned and is generated by the database. |
arrayIndex | Long | No |
If this job is a sub-job of a JobArray, this field contains the index of this job in the array. For example, if this job is |
arrayMasterName | String | No |
If this job is a sub-job of a JobArray, this field contains the name of the job array master. For example, if this job is |
attributes | Set<String> | Yes |
The list of generic attributes associated with this job. |
blocks | Set<JobBlock> | No |
Reasons the job is blocked from running. |
bypassCount | Integer | No |
The number of times the job has been backfilled. |
cancelCount | Integer | No |
The number of times a job has received a cancel request. |
commandFile | String | Yes |
The name of the job script file (absolute path). If commandFile is set and commandScript is not set, then MWS must have read access to the file. If commandFile and commandScript are both set, then MWS does not read the contents of the file, but it does provide the name of the file to Moab. Note that Moab changes the contents of the commandFile field and the contents of the file pointed to by commandFile. For the original path and file contents, see submitCommandFile. |
commandLineArguments | String | Yes |
The command line arguments passed to the job script specified by commandFile or commandScript. Must be enclosed in quotes. Example: "commandLineArguments": "\"a b c\"" |
commandScript | String | Yes |
The contents of the job script. This field must be Base64-encoded. |
completionCode | Integer | No |
The exit code from this job. |
cpuTime | Long | No |
CPU usage time in seconds as reported by the resource manager. |
credentials | JobCredentials | Yes |
The credentials (user and group, for example) associated with this job. |
customName | String | Yes |
The user-specified name of this job. This field must not contain any spaces. |
dates | JobDates | Yes |
Various dates associated with this job. |
deferCount | Integer | No |
The number of times a job has been deferred. |
dependencies | Set<JobDependency> | Yes |
Dependencies that must be fulfilled before the job can start. |
description | String | No |
The description of the job. Can be set only in a job template. |
duration | Long | Yes |
The length of time in seconds requested for the job. Note that it is possible to set duration to "INFINITY" if the AllowInfiniteJobs flag is set on the scheduler in the moab.cfg. |
durationActive | Long | No |
The length of time in seconds the job has been active or running. |
durationMinimum | Long | No |
Minimum duration of the job (used when automatically extending durations). See JOBEXTENDDURATION in the Moab Workload Manager Administrator Guide. |
durationQueued | Long | No |
The length of time in seconds the job has been eligible to run in the queue. |
durationRemaining | Long | No |
An estimate of the time remaining, in seconds, before the job will complete. |
durationSuspended | Long | No |
The length of time in seconds the job has been suspended. |
emailNotifyAddresses | Set<String> | Yes |
The list of addresses to whom email is sent by the execution server. |
emailNotifyTypes | Set<JobEmailNotifyType> | Yes |
The list of email notify types attached to the job. |
environmentRequested | Boolean | Yes |
Setting this field to true tells the Moab Workload Manager to set various variables, if populated, in the job's environment. |
environmentVariables | Map<String, Map> | Yes |
The environment variables to set for this job. This field is defined only during POST. On GET, this field is an empty object. (See also: fullEnvironmentVariableList.) |
epilogScript | String | Yes |
The path to the TORQUE epilog script. |
flags | Set<JobFlag> | Yes |
The flags that are set on this job. |
fullEnvironmentVariableList | String | No |
The full list of all environment variables for this job, including variables set by the resource manager, if any. (See also: environmentVariables.) |
holdDate | Date | No |
The date the most recent hold was placed on the job. |
holdReason | JobHoldReason | No |
The reason the job is on hold. |
holds | Set<JobHoldType> | Yes |
The holds that are set on the job. The "User" hold type is valid during POST. |
initialWorkingDirectory | String | Yes |
The path to the directory in which the job will be started. |
isActive | Boolean | No |
True if the job is active, false if the job is complete. |
jobGroup | String | Yes |
The job group to which this job belongs (different from credentials.group). |
masterNode | DomainProxy | No |
The first node in the list of allocated nodes for this job. For TORQUE jobs, this represents the "mother superior." |
memorySecondsDedicated | Double | No |
The memory seconds dedicated to the job as reported by its resource manager. Not all resource managers provide this information. |
memorySecondsUtilized | Double | No |
The memory seconds utilized by the job as reported by its resource manager. Not all resource managers provide this information. |
messages | Set<Message> | No |
The list of messages associated with the job. The "message" field is valid during PUT. |
migrateCount | Integer | No |
The number of times the job has been migrated. |
minimumPreemptTime | Long | No |
The minimum length of time, in seconds, an active job must be running before it is eligible for preemption. |
mwmName | String | No |
The name of the Moab Workload Manager instance that owns this job. |
name | String | No |
The name of this job. This name is unique per instance of Moab Workload Manager (i.e. not globally). |
nodesExcluded | Set<DomainProxy> | Yes |
The list of nodes that should not be considered for this job. |
nodesRequested | Set<DomainProxy> | Yes |
The exact set, superset, or subset of nodes on which this job must run. (See also: nodesRequestedPolicy.) |
nodesRequestedPolicy | JobHostListMode | Yes |
Indicates an exact set, superset, or subset of nodes on which the job must run. Only relevant if nodesRequested is provided. (See also: nodesRequested.) |
partitionAccessList | Set<String> | No |
The list of partitions that this job can access. |
partitionAccessListRequested | Set<String> | Yes |
The list of partitions that this job has requested. |
partitionAccessListScheduler | Set<String> | No |
The feasible partition access list built by the scheduler. |
preemptCount | Integer | No |
The number of times the job has been preempted. |
priorities | JobPriority | Yes |
The list of priorities for the job. |
processorSecondsDedicated | Double | No |
The processor seconds dedicated to the job as reported by its resource manager. Not all resource managers provide this information. |
processorSecondsLimit | Double | No |
The limit for processorSecondsUtilized. |
processorSecondsUtilized | Double | No |
The processor seconds utilized by the job as reported by its resource manager. Not all resource managers provide this information. |
prologScript | String | Yes |
The path to the TORQUE prolog script. |
queueStatus | JobQueueStatus | No |
The status of the job in its queue. |
rank | Integer | No |
The index of this job in the eligible queue. |
rejectPolicies | Set<JobRejectPolicy> | No |
The list of policies enabled when a job is rejected. |
requirements | Set<JobRequirement> | Yes |
The list of items required for this job to run. Only JobRequirement.features is valid during PUT. |
reservationRequested | DomainProxy | Yes |
The reservation that the job requested. |
resourceFailPolicy | JobResourceFailPolicyType | Yes |
The policy that dictates what should happen to the job if it is running and at least one of the resources it is using fails. |
resourceManagerExtension | String | Yes |
If provided during POST, this string will be added to the resource manager extension section of the job submission. Example: "bandwidth=120;queuejob=false" |
resourceManagers | Set<ResourceManager> | No |
The list of resource managers associated with this job. |
shellName | String | Yes |
Declares the shell that interprets the job script. |
standardErrorFilePath | String | Yes |
The path to the file containing the standard error of the job. |
standardOutputFilePath | String | Yes |
The path to the file containing the standard output of the job. |
startCount | Integer | No |
The number of times the job has been started. |
states | JobStateInformation | No |
Information about the state of the job. |
submitCommandFile | String | No |
This read-only field contains the path to the original commandFile as posted to MWS during job submission. |
submitHost | String | No |
The host from which the job was submitted. |
systemJobAction | String | No |
The action the system job will take. |
systemJobType | JobSystemJobType | No |
The type of system job. In the Moab Cloud Suite, this will usually be "vmtracking" or "generic." |
targetedJobAction | JobActionType | No |
The action that this job is performing on another job. |
targetedJobName | String | No |
The name of the job on which this job is performing the targetedJobAction. |
templates | Set<DomainProxy> | Yes |
The list of all job templates to be set on this job. |
triggers | Set<String> | No |
The list of triggers associated with this job. |
variables | Map<String, Map> | Yes |
The list of variables that this job owns or sets on completion. |
virtualContainers | Set<DomainProxy> | Yes |
When submitting this job, add it to the specified existing virtual container. Valid during POST, but only one virtual container can be specified. |
virtualMachines | Set<DomainProxy> | No |
The list of virtual machines that are allocated to this job. |
vmUsagePolicy | VMUsagePolicy | Yes |
The requested Virtual Machine Usage Policy for this job. |
Field Name | Type | POST | Description |
---|---|---|---|
category | JobBlockCategory | No | |
createdDate | Date | No | |
message | String | No | |
partition | String | No | |
type | JobBlockType | No |
Value | Description |
---|---|
depend | |
jobBlock | |
migrate |
Value | Description |
---|---|
ActivePolicy | |
BadUser | |
Dependency | |
EState | |
FairShare | |
Hold | |
IdlePolicy | |
LocalPolicy | |
NoClass | |
NoData | |
NoResource | |
NoTime | |
PartitionAccess | |
Priority | |
RMSubmissionFailure | |
StartDate | |
State | |
SysLimits |
Moab Workload Manager supports the concept of credentials, which provide a means of attributing policy and resource access to entities such as users and groups. These credentials allow specification of job ownership, tracking of resource usage, enforcement of policies, and many other features.
Field Name | Type | POST | Description |
---|---|---|---|
name | String | Yes |
The name of the object on on which the job is dependent. |
type | JobDependencyType | Yes |
The type of job dependency. Only the "set" type is valid for POST. |
value | String | No |
Optional string representation of the dependency (used with variable dependencies). |
Represents the type of a job dependency. For now, only the "set" type is supported.
Value | Description |
---|---|
set | Job will wait until a variable on a Moab object is set before starting. |
Value | Description |
---|---|
JobStart | An email will be sent when the job starts. |
JobEnd | An email will be sent if the job successfully ends. |
JobFail | An email will be sent if the job fails. |
All |
This enumeration specifies the flag types of a job.
Value | Description |
---|---|
NONE | |
BACKFILL | The job is using backfill to run. |
COALLOC | The job can use resources from multiple resource managers and partitions. |
ADVRES | The job requires the use of a reservation. |
NOQUEUE | The job will attempt to execute immediately or fail. |
ARRAYJOB | The job is part of a job array. |
ARRAYJOBPARLOCK | This array job will only run in one partition. |
ARRAYJOBPARSPAN | This array job will span partitions (default). |
ARRAYMASTER | This job is the master of a job array. |
BESTEFFORT | The job will succeed if even partial resources are available. |
RESTARTABLE | The job is restartable. |
SUSPENDABLE | The job is suspendable. |
HASPREEMPTED | This job preempted other jobs to start. |
PREEMPTEE | The job is a preemptee and therefore can be preempted by other jobs. |
PREEMPTOR | The job is a preemptor and therefore can preempt other jobs. |
RSVMAP | The job is based on a reservation. |
SPVIOLATION | The job was started with a soft policy violation. |
IGNNODEPOLICIES | The job will ignore node policies. |
IGNPOLICIES | The job will ignore idle, active, class, partition, and system policies. |
IGNNODESTATE | The job will ignore node state in order to run. |
IGNIDLEJOBRSV | The job can ignore idle job reservations. The job granted access to all idle job reservations. |
INTERACTIVE | The job needs to interactive input from the user to run. |
FSVIOLATION | The job was started with a fairshare violation. |
GLOBALQUEUE | The job is directly submitted without doing any authentication. |
NORESOURCES | The job is a system job that does not need any resources. |
NORMSTART | The job will not query a resource manager to run. |
CLUSTERLOCKED | The job is locked into the current cluster and cannot be migrated elsewhere. This is for grid mode. |
FRAGMENT | The job can be run across multiple nodes in individual chunks. |
FORCEPROVISION | Job will provision nodes, whether they already have OS or not. |
SYSTEMJOB | The job is a system job which simply runs on the same node that Moab is running on. This is usually used for running scripts and other executables in workflows. |
ADMINSETIGNPOLICIES | The IGNPOLICIES flag was set by an administrator. |
EXTENDSTARTWALLTIME | The job duration (walltime) was extended at job start. |
SHAREDMEM | The job will share its memory across nodes. |
BLOCKEDBYGRES | The job's generic resource requirement caused the job to start later. |
GRESONLY | The job is requesting only generic resources, no compute resources. |
TEMPLATESAPPLIED | The job has had all applicable templates applied to it. |
META | META job, just a container around resources. |
WIDERSVSEARCHALGO | This job prefers the wide search algorithm. |
VMTRACKING | The job is a VMTracking job for an externally-created VM (via job template). |
DESTROYTEMPLATESUBMITTED | A destroy job has already been created from the template for this job. |
PROCSPECIFIED | The job requested processors on the command line. |
CANCELONFIRSTFAILURE | Cancel job array on first array job failure. |
CANCELONFIRSTSUCCESS | Cancel job array on first array job success. |
CANCELONANYFAILURE | Cancel job array on any array job failure. |
CANCELONANYSUCCESS | Cancel job array on any array job success. |
CANCELONEXITCODE | Cancel job array on a specific exit code. |
NOVMMIGRATE | Do not migrate the virtual machine that this job sets up. |
VCMASTER | Job is the master of a virtual container. |
USEMOABJOBID | Specifies whether to use the Moab job ID or the resource manager's job ID. |
JOINSTDERRTOSTDOUT | Join the stderr file to the stdout file. |
JOINSTDOUTTOSTDERR | Join the stdout file to the stderr file. |
PURGEONSUCCESSONLY | Only purge the job if it completed successfully |
ALLPROCS | Each job compute task requests all the procs on its node |
COMMLOCAL | Each job communications are localized, with minimal routing outside job shape |
COMMTOLERANT | Each job communications are low-intensity and insensitive to interference |
A reference to an object contained within an object. For example, a Virtual Machine object contains a reference to the Node on which it is running. That reference is represented by this class.
Field Name | Type | POST | Description |
---|---|---|---|
name | String | Yes |
The name of the object. |
Value | Description |
---|---|
superset | |
subset | |
exactset |
Value | Description |
---|---|
CANCEL | |
HOLD | |
IGNORE | |
RETRY |
Field Name | Type | POST | Description |
---|---|---|---|
architecture | String | Yes |
The architecture required by the job. |
attributes | Map<String, JobRequirementAttribute> | Yes |
Required node attributes with version number support. |
dedicateAllProcessors | Boolean | No |
Within a requirement, if dedicateAllProcessors is true, then all processors on the node where the job runs will be dedicated to the job. |
features | Set<String> | No |
The list of node features the job is scheduled against. |
featuresExcluded | Set<String> | Yes |
Excluded node features. That is, do not select nodes with these features. (See also: featuresExcludedMode.) |
featuresExcludedMode | JobRequirementFeaturesMode | Yes |
Indicates whether excluded features should be AND'ed or OR'd. The default is AND. Only relevant if featuresExcluded is provided. (See also: featuresExcluded.) |
featuresRequested | Set<String> | Yes |
Requested node features. (See also: featuresRequestedMode.) |
featuresRequestedMode | JobRequirementFeaturesMode | Yes |
Indicates whether requested features should be AND'ed or OR'd. The default is AND. Only relevant if featuresRequested is provided. (See also: featuresRequested.) |
image | String | Yes |
The image required by the job. |
index | Integer | No |
The index of the requirement, starting with 0. |
metrics | Map<String, Double> | No |
Generic metrics associated with the job as reported by the resource manager. |
nodeAccessPolicy | NodeAccessPolicy | Yes |
Specifies how node resources should be accessed. Note: If the job requirements array has more than one element that contains nodeAccessPolicy, only the first occurrence will be used. |
nodeAllocationPolicy | NodeAllocationPolicy | Yes |
Specifies how node resources should be selected and allocated to the job. Note: If the job requirements array has more than one element that contains nodeAllocationPolicy, only the first occurrence will be used. |
nodeCount | Integer | Yes |
The number of nodes required by the job. |
nodeSet | String | Yes |
The requested node set of the job. This must follow the format
|
nodes | Set<AllocatedNode> | No |
Nodes that have been allocated to meet this requirement. |
reservation | DomainProxy | No |
The allocated reservation (assigned after the job has a reservation). |
resourcesPerTask | Map<String, JobResource> | Yes |
Contains requirements for disk, memory, processors, swap, and generic resources. For disk, memory, and swap, the unit is MB. For each resource, the "dedicated" field can be set during POST. |
taskCount | Integer | Yes |
The number of tasks (processors) required by this job. |
tasksPerNode | Integer | Yes |
The number of tasks to map to each node. If you specify tasksPerNode, you must also specify taskCount. |
totalDedicatedProcessors | Integer | No |
Field Name | Type | POST | Description |
---|---|---|---|
comparator | String | Yes |
The comparison operator. Valid values:
|
displayValue | String | Yes |
The display value for the required attribute. |
restriction | JobRequirementAttributeRestriction | Yes |
The restriction of this attribute. May be null, but defaults to JobRequirementAttributeRestriction.must. |
value | String | Yes |
The value of the required attribute. During POST, if value is missing, blank, or null, do not provide a comparator. |
JobRequirementAttributeRestriction
Represents a restriction for a job requirement attribute.
Value | Description |
---|---|
must |
Value | Description |
---|---|
OR | |
AND |
This enumeration describes how node resources will be shared by various tasks.
Node Allocation enumeration.
Field Name | Type | POST | Description |
---|---|---|---|
name | String | No | |
taskCount | Integer | No |
Represents counts of dedicated and utilized resources.
Value | Description |
---|---|
CANCEL | |
FAIL | |
HOLD | |
IGNORE | |
NOTIFY | |
REQUEUE |
Field Name | Type | POST | Description |
---|---|---|---|
isDestination | Boolean | No | |
isSource | Boolean | No | |
jobName | String | No | |
name | String | No |
Field Name | Type | POST | Description |
---|---|---|---|
state | JobState | No | |
stateExpected | JobState | No | |
stateLastUpdatedDate | Date | No | |
subState | JobSubState | No |
Value | Description |
---|---|
Epilogue | |
Migrated | |
Preempted | |
Prologue |
Value | Description |
---|---|
DESTROY | |
MIGRATE | |
MODIFY |
This enumeration describes the virtual machine requirements of a job
Related Topics