8.4.6
Fields: Jobs

See the associated 4.9 Jobs resource section for more information on how to use this resource and supported operations.
Additional References
Type | Value | Additional Information |
---|---|---|
Permissions resource | jobs | Permissions |
Hooks filename | jobs.groovy | Pre- and Post-Processing Hooks |
Distinct query-supported | Yes | Distinct |

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. 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.
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
id | String | No | No |
The unique identifier of this job. Note: This field is not user-assigned and is generated by the database. |
arrayIndex | Long | No | No |
If this job is a subjob of a JobArray, this field contains the index of this job in the array. For example, if this job is |
arrayMasterName | String | No | No |
If this job is a subjob of a JobArray, this field contains the name of the job array master. For example, if this job is |
attributes | Set<String> | Yes | No |
The list of generic attributes associated with this job. |
blocks | Set<JobBlock> | No | No |
Reasons the job is blocked from running. |
bypassCount | Integer | No | No |
The number of times the job has been backfilled. |
cancelCount | Integer | No | No |
The number of times a job has received a cancel request. |
commandFile | String | Yes | No |
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 | No |
The command line arguments passed to the job script specified by commandFile or commandScript. Must be enclosed in quotes, for example: "commandLineArguments": "\"a b c\"" |
commandScript | String | Yes | No |
The contents of the job script. This field must be Base64-encoded. |
completionCode | Integer | No | No |
The exit code from this job. |
cpuTime | Long | No | No |
CPU usage time in seconds as reported by the resource manager. |
credentials | JobCredentials | Yes | Yes |
The credentials (user and group, for example) associated with this job. |
customName | String | Yes | Yes |
The user-specified name of this job. This field must not contain any spaces. |
dates | JobDates | Yes | Yes |
Various dates associated with this job. |
deferCount | Integer | No | No |
The number of times a job has been deferred. |
dependencies | Set<JobDependency> | Yes | No |
Dependencies that must be fulfilled before the job can start. |
description | String | No | No |
The description of the job. Can be set only in a job template. |
duration | Long | Yes | 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 | No |
The length of time in seconds the job has been active or running. |
durationMinimum | Long | No | No |
Minimum duration of the job (used when automatically extending durations). See 'JOBEXTENDDURATION' in the Moab Workload Manager Administrator Guide. |
durationQueued | Long | No | No |
The length of time in seconds the job has been eligible to run in the queue. |
durationRemaining | Long | No | No |
An estimate of the time remaining, in seconds, before the job will complete. |
durationSuspended | Long | No | No |
The length of time in seconds the job has been suspended. |
emailNotifyAddresses | Set<String> | Yes | No |
The list of addresses to whom email is sent by the execution server. |
emailNotifyTypes | Set<JobEmailNotifyType> | Yes | No |
The list of email notify types attached to the job. |
environmentRequested | Boolean | Yes | No |
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 | No |
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 | No |
The path to the TORQUE epilog script. |
flags | Set<JobFlag> | Yes | Yes |
The flags that are set on this job. |
fullEnvironmentVariableList | String | No | 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 | No |
The date the most recent hold was placed on the job. |
holdReason | JobHoldReason | No | No |
The reason the job is on hold. |
holds | Set<JobHoldType> | Yes | Yes |
The holds that are set on the job. The 'User' hold type is valid during POST. |
initialWorkingDirectory | String | Yes | No |
The path to the directory where the job will be started. |
isActive | Boolean | No | No |
True if the job is active, false if the job is complete. |
jobGroup | String | Yes | No |
The job group to which this job belongs (different from credentials.group). |
masterNode | DomainProxy | No | No |
The first node in the list of allocated nodes for this job. For TORQUE jobs, this represents the 'mother superior'. |
memorySecondsDedicated | Double | No | No |
The memory seconds dedicated to the job as reported by its resource manager. Not all resource managers provide this information. |
memorySecondsUtilized | Double | No | 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 | Yes |
The list of messages associated with the job. The 'message' field is valid during PUT. |
migrateCount | Integer | No | No |
The number of times the job has been migrated. |
minimumPreemptTime | Long | No | No |
The minimum length of time, in seconds, an active job must be running before it is eligible for preemption. |
mwmName | String | No | No |
The name of the Moab Workload Manager instance that owns this job. |
name | String | No | No |
The name of this job. This name is unique per instance of Moab Workload Manager (i.e., not globally). |
nodesExcluded | Set<DomainProxy> | Yes | No |
The list of nodes that should not be considered for this job. |
nodesRequested | Set<DomainProxy> | Yes | No |
The exact set, superset, or subset of nodes where this job must run (see also nodesRequestedPolicy) . |
nodesRequestedPolicy | JobHostListMode | Yes | No |
Indicates an exact set, superset, or subset of nodes where the job must run. Only relevant if nodesRequested is provided (see also nodesRequested). |
Set<String> | No | No |
The list of partitions that this job can access. |
|
partitionAccessListRequested | Set<String> | Yes | Yes |
The list of partitions that this job has requested. |
partitionAccessListScheduler | Set<String> | No | No |
The feasible partition access list built by the scheduler. |
preemptCount | Integer | No | No |
The number of times the job has been preempted. |
priorities | JobPriority | Yes | Yes |
The list of priorities for the job. |
processorSecondsDedicated | Double | No | No |
The processor seconds dedicated to the job as reported by its resource manager. Not all resource managers provide this information. |
processorSecondsLimit | Double | No | No |
The limit for processorSecondsUtilized. |
processorSecondsUtilized | Double | No | No |
The processor seconds utilized by the job as reported by its resource manager. Not all resource managers provide this information. |
prologScript | String | Yes | No |
The path to the TORQUE prolog script. |
queueStatus | JobQueueStatus | No | No |
The status of the job in its queue. |
rank | Integer | No | No |
The index of this job in the eligible queue. |
rejectPolicies | Set<JobRejectPolicy> | No | No |
The list of policies enabled when a job is rejected. |
requirements | Set<JobRequirement> | Yes | Yes |
The list of items required for this job to run. Only JobRequirement.features is valid during PUT. |
reservationRequested | DomainProxy | Yes | Yes |
The reservation that the job requested. |
resourceFailPolicy | JobResourceFailPolicyType | Yes | No |
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 | No |
If provided during POST, this string will be added to the resource manager extension section of the job submission. For example: 'bandwidth=120;queuejob=false' |
resourceManagers | Set<ResourceManager> | No | No |
The list of resource managers associated with this job. |
shellName | String | Yes | No |
Declares the shell that interprets the job script. |
standardErrorFilePath | String | Yes | No |
The path to the file containing the standard error of the job. |
standardOutputFilePath | String | Yes | No |
The path to the file containing the standard output of the job. |
startCount | Integer | No | No |
The number of times the job has been started. |
states | JobStateInformation | No | No |
Information about the state of the job. |
submitCommandFile | String | No | No |
This read-only field contains the path to the original commandFile as posted to MWS during job submission. |
submitHost | String | No | No |
The host from which the job was submitted. |
systemJobType | JobSystemJobType | No | No | The type of system job. |
templates | Set<DomainProxy> | Yes | No |
The list of all job templates to be set on this job. |
triggers | Set<String> | No | No |
The list of triggers associated with this job. |
variables | Map<String, Map> | Yes | Yes |
The list of variables that this job owns or sets on completion. |
virtualContainers | Set<DomainProxy> | Yes | No |
When submitting this job, add it to the specified existing virtual container. Valid during POST, but only one virtual container can be specified. |
Field Name | Type | POST | PUT |
---|---|---|---|
category | JobBlockCategory | No | No |
createdDate | Date | No | No |
message | String | No | No |
partition | String | No | No |
type | JobBlockType | No | No |
Value |
---|
depend |
jobBlock |
migrate |
Value |
---|
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 | PUT | Description |
---|---|---|---|---|
name | String | Yes | No |
The name of the object on which the job is dependent. |
type | JobDependencyType | Yes | No |
The type of job dependency. Only the 'set' type is valid for POST. |
value | String | No | 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. |
ALLOWPOWERADJUSTMENT | Allow system to dynamically adjust power. |
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 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 admin. |
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. |
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. |
VCMASTER | Job is the master of a virtual container. |
USEMOABJOBID | 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. |
COMMTRANSPARENT | Job does not generate network communication. |
Value | Description |
---|---|
Admin | |
NoResources | |
SystemLimitsExceeded | |
BankFailure | |
CannotDebitAccount | |
InvalidAccount | |
RMFailure | |
RMReject | Resource manager rejects job execution. |
PolicyViolation | Job violates job size policy. |
CredAccess | Job cannot access requested credential. |
CredHold | Credential hold in place. |
PreReq | Job prerequisite failed. |
Data | Data staging cannot be completed. |
Security | Job security cannot be established. |
MissingDependency | Dependency job cannot be found. |
Value | Description |
---|---|
User | The user has manually placed a hold on the job. |
System | The Moab Workload Manager has placed a hold on the job. |
Batch | The batch queue has placed a hold on the job. |
Defer | The job has been deferred. |
All |
During GET, |
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 | PUT | Description |
---|---|---|---|---|
name | String | Yes | No |
The name of the object. |
Value |
---|
superset |
subset |
exactset |
Value | Description |
---|---|
active | A job is actively running in a queue. |
blocked | A job has been blocked because of a policy violation or because resource requirements cannot be met. |
completed | A job has completed running. |
eligible | A job is eligible to run but has not started yet. |
Value |
---|
CANCEL |
HOLD |
IGNORE |
RETRY |
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
architecture | String | Yes | No |
The architecture required by the job. |
attributes | Map<String,JobRequirementAttribute> | Yes | No |
Required node attributes with version number support. |
dedicateAllProcessors | Boolean | No | 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 | Yes |
The list of node features the job is scheduled against. |
featuresExcluded | Set<String> | Yes | No |
Excluded node features. That is, do not select nodes with these features (see also featuresExcludedMode). |
featuresExcludedMode | JobRequirementFeaturesMode | Yes | No |
Indicates whether excluded features should be ANDed or ORed. The default is AND. Only relevant if featuresExcluded is provided (see also featuresExcluded). |
featuresRequested | Set<String> | Yes | No |
Requested node features (see also featuresRequestedMode). |
featuresRequestedMode | JobRequirementFeaturesMode | Yes | No |
Indicates whether requested features should be ANDed or ORed. The default is AND. Only relevant if featuresRequested is provided (see also featuresRequested). |
index | Integer | No | No |
The index of the requirement, starting with 0. |
metrics | Map<String, Double> | No | No |
Generic metrics associated with the job as reported by the resource manager. |
nodeAccessPolicy | NodeAccessPolicy | Yes | No |
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 | No |
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 | No |
The number of nodes required by the job. |
nodeSet | String | Yes | No |
The requested node set of the job. This must follow the format
Examples:
|
nodes | Set<AllocatedNode> | No | No |
Nodes that have been allocated to meet this requirement. |
operatingSystem | String | Yes | No |
The operating system required by the job. |
reservation | DomainProxy | No | No |
The allocated reservation (assigned after the job has a reservation). |
resourcesPerTask | Map<String, JobResource> | Yes | No |
Contains requirements for disk, memory, processors, swap, GPUs, 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 | No |
The number of tasks (processors) required by this job. |
tasksPerNode | Integer | Yes | No |
The number of tasks to map to each node. If you specify tasksPerNode, you must also specify taskCount. |
totalDedicatedProcessors | Integer | No | No |
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
comparator | String | Yes | No |
The comparison operator. Values:
|
displayValue | String | Yes | No |
The display value for the required attribute. |
restriction | JobRequirementAttributeRestriction | Yes | No |
The restriction of this attribute. Can be null, but defaults to JobRequirementAttributeRestriction: must. |
value | String | Yes | No |
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 |
---|
must |
Value |
---|
OR |
AND |
This enumeration describes how node resources will be shared by various tasks.
Value | Description |
---|---|
NONE | |
SHARED | Tasks from any combination of jobs can utilize available resources. |
SHAREDONLY | Only jobs requesting shared node access can utilize available resources. |
SINGLEJOB | Tasks from a single job can utilize available resources. |
SINGLETASK | A single task from a single job can run on the node. |
SINGLEUSER | Tasks from any jobs owned by the same user can utilize available resources. |
UNIQUEUSER | Any number of tasks from a single job can allocate resources from a node but only if the user has no other jobs running on that node. |
SINGLEGROUP | Any number of tasks from the same group can utilize node. |
SINGLEACCOUNT | Any number of tasks from the same account can utilize node. |
SINGLECLASS | Any number of tasks from the same class can utilize node. |
SINGLEQOS | Any number of tasks from the same QOS (quality of service) can utilize node. |
Node Allocation enumeration.
Value | Description |
---|---|
FIRSTSET | |
MINGLOBAL | |
MINLOCAL | |
PLUGIN | |
NONE | No node allocation policy is specified. Moab defaults to MINRESOURCE when this is the case. |
FIRSTAVAILABLE | Simple first come, first served algorithm where nodes are allocated in the order they are presented by the resource manager. This is a very simple, very fast algorithm. |
LASTAVAILABLE | This algorithm selects resources so as to minimize the amount of time after the job and before the trailing reservation. This algorithm is a best fit in time algorithm which minimizes the impact of reservation based node-time fragmentation. It is useful in systems where a large number of reservations (job, standing, or administrative) are in place. |
MINRESOURCE | This algorithm prioritizes nodes according to the configured resources on each node. Those nodes with the fewest configured resources which still meet the job's resource constraints are selected. |
CPULOAD |
Nodes are selected which have the maximum amount of available, unused CPU power (i.e., [# of CPUs] - [CPU load]). Good algorithm for timesharing node systems. This algorithm is only applied to jobs starting immediately. For the purpose of future reservations, the MINRESOURCE algorithm is used. |
LOCAL |
This will call the locally created contrib node allocation algorithm. |
CONTIGUOUS | This algorithm will allocate nodes in contiguous (linear) blocks as required by the Compaq RMS system. |
MAXBALANCE | This algorithm will attempt to allocate the most 'balanced' set of nodes possible to a job. In most cases, but not all, the metric for balance of the nodes is node speed. Therefore, if possible, nodes with identical speeds will be allocated to the job. If identical speed nodes cannot be found, the algorithm will allocate the set of nodes with the minimum node speed 'span' or range. |
PRIORITY | This algorithm allows a site to specify the priority of various static and dynamic aspects of compute nodes and allocate them with preference for higher priority nodes. It is highly flexible allowing node attribute and usage information to be combined with reservation affinity. |
FASTEST | This algorithm will select nodes in 'fastest node first' order. Nodes will be selected by node speed if specified. If node speed is not specified, nodes will be selected by processor speed. If neither is specified, nodes will be selected in a random order. |
PROCESSORLOAD | Alias for CPULOAD. |
NODESPEED | Alias for FASTEST. |
INREPORTEDORDER | Alias for FIRSTAVAILABLE. |
INREVERSEREPORTEDORDER | Alias for LASTAVAILABLE. |
CUSTOMPRIORITY | Alias for PRIORITY. |
PROCESSORSPEEDBALANCE | Alias for MAXBALANCE. |
MINIMUMCONFIGUREDRESOURCES | Alias for MINRESOURCE. |
CRAY3DTORUS | Enable topology awareness scheduling algorithm. |
Field Name | Type | POST | PUT |
---|---|---|---|
name | String | No | No |
taskCount | Integer | No | No |
Represents counts of dedicated and utilized resources.
Value |
---|
CANCEL |
FAIL |
HOLD |
IGNORE |
NOTIFY |
REQUEUE |
Field Name | Type | POST | PUT |
---|---|---|---|
isDestination | Boolean | No | No |
isSource | Boolean | No | No |
jobName | String | No | No |
name | String | No | No |
Field Name | Type | POST | PUT |
---|---|---|---|
state | JobState | No | No |
stateExpected | JobState | No | No |
stateLastUpdatedDate | Date | No | No |
subState | JobSubState | No | No |
Value | Description |
---|---|
Idle | Eligible according to all resource manager constraints. |
Starting | Job is launching, executing prolog. |
Running | Job is executing. |
Removed | Job was canceled before executing. |
Completed | Job successfully completed execution. |
Hold | Job is blocked by hold. |
Deferred | Job has a temporary hold. |
Vacated | Job was canceled after partial execution. |
NotQueued | Job is not eligible for execution. |
Unknown | Job state is unknown. |
Staging | Staging of input/output data is currently underway. |
Suspended | Job is no longer executing and remains in memory on the allocated compute nodes. |
Blocked |
Value |
---|
Epilogue |
Migrated |
Preempted |
Prologue |
Value | Description |
---|---|
generic | Generic system job (trigger attached). |
osprovision | Reprovision operating system. |
poweroff | Power off node. |
poweron | Power on node. |
reset | Reboot node. |

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. 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.
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
id | String | No | No |
The unique identifier of this job. Note: This field is not user-assigned and is generated by the database. |
arrayIndex | Long | No | No |
If this job is a subjob of a JobArray, this field contains the index of this job in the array. For example, if this job is |
arrayMasterName | String | No | No |
If this job is a subjob of a JobArray, this field contains the name of the job array master. For example, if this job is |
attributes | Set<String> | Yes | No |
The list of generic attributes associated with this job. |
blocks | Set<JobBlock> | No | No |
Reasons the job is blocked from running. |
bypassCount | Integer | No | No |
The number of times the job has been backfilled. |
cancelCount | Integer | No | No |
The number of times a job has received a cancel request. |
commandFile | String | Yes | No |
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 | No |
The command line arguments passed to the job script specified by commandFile or commandScript. Must be enclosed in quotes, for example: "commandLineArguments": "\"a b c\"" |
commandScript | String | Yes | No |
The contents of the job script. This field must be Base64-encoded. |
completionCode | Integer | No | No |
The exit code from this job. |
cpuTime | Long | No | No |
CPU usage time in seconds as reported by the resource manager. |
credentials | JobCredentials | Yes | Yes |
The credentials (user and group, for example) associated with this job. |
customName | String | Yes | Yes |
The user-specified name of this job. This field must not contain any spaces. |
dates | JobDates | Yes | Yes |
Various dates associated with this job. |
deferCount | Integer | No | No |
The number of times a job has been deferred. |
dependencies | Set<JobDependency> | Yes | No |
Dependencies that must be fulfilled before the job can start. |
description | String | No | No |
The description of the job. Can be set only in a job template. |
duration | Long | Yes | 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 | No |
The length of time in seconds the job has been active or running. |
durationMinimum | Long | No | No |
Minimum duration of the job (used when automatically extending durations). See 'JOBEXTENDDURATION' in the Moab Workload Manager Administrator Guide. |
durationQueued | Long | No | No |
The length of time in seconds the job has been eligible to run in the queue. |
durationRemaining | Long | No | No |
An estimate of the time remaining, in seconds, before the job will complete. |
durationSuspended | Long | No | No |
The length of time in seconds the job has been suspended. |
emailNotifyAddresses | Set<String> | Yes | No |
The list of addresses to whom email is sent by the execution server. |
emailNotifyTypes | Set<JobEmailNotifyType> | Yes | No |
The list of email notify types attached to the job. |
environmentRequested | Boolean | Yes | No |
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 | No |
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 | No |
The path to the TORQUE epilog script. |
flags | Set<JobFlag> | Yes | Yes |
The flags that are set on this job. |
fullEnvironmentVariableList | String | No | 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 | No |
The date the most recent hold was placed on the job. |
holdReason | JobHoldReason | No | No |
The reason the job is on hold. |
holds | Set<JobHoldType> | Yes | Yes |
The holds that are set on the job. The 'User' hold type is valid during POST. |
initialWorkingDirectory | String | Yes | No |
The path to the directory where the job will be started. |
isActive | Boolean | No | No |
True if the job is active, false if the job is complete. |
jobGroup | String | Yes | No |
The job group to which this job belongs (different from credentials.group). |
masterNode | DomainProxy | No | No |
The first node in the list of allocated nodes for this job. For TORQUE jobs, this represents the 'mother superior'. |
memorySecondsDedicated | Double | No | No |
The memory seconds dedicated to the job as reported by its resource manager. Not all resource managers provide this information. |
memorySecondsUtilized | Double | No | 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 | Yes |
The list of messages associated with the job. The 'message' field is valid during PUT. |
migrateCount | Integer | No | No |
The number of times the job has been migrated. |
minimumPreemptTime | Long | No | No |
The minimum length of time, in seconds, an active job must be running before it is eligible for preemption. |
mwmName | String | No | No |
The name of the Moab Workload Manager instance that owns this job. |
name | String | No | No |
The name of this job. This name is unique per instance of Moab Workload Manager (i.e., not globally). |
nodesExcluded | Set<DomainProxy> | Yes | No |
The list of nodes that should not be considered for this job. |
nodesRequested | Set<DomainProxy> | Yes | No |
The exact set, superset, or subset of nodes where this job must run (see also nodesRequestedPolicy). |
nodesRequestedPolicy | JobHostListMode | Yes | No |
Indicates an exact set, superset, or subset of nodes where the job must run. Only relevant if nodesRequested is provided (see also nodesRequested). |
Set<String> | No | No |
The list of partitions that this job can access. |
|
partitionAccessListRequested | Set<String> | Yes | Yes |
The list of partitions that this job has requested. |
partitionAccessList Scheduler |
Set<String> | No | No |
The feasible partition access list built by the scheduler. |
preemptCount | Integer | No | No |
The number of times the job has been preempted. |
priorities | JobPriority | Yes | Yes |
The list of priorities for the job. |
processorSecondsDedicated | Double | No | No |
The processor seconds dedicated to the job as reported by its resource manager. Not all resource managers provide this information. |
processorSecondsLimit | Double | No | No |
The limit for processorSecondsUtilized. |
processorSecondsUtilized | Double | No | No |
The processor seconds utilized by the job as reported by its resource manager. Not all resource managers provide this information. |
prologScript | String | Yes | No |
The path to the TORQUE prolog script. |
queueStatus | JobQueueStatus | No | No |
The status of the job in its queue. |
rank | Integer | No | No |
The index of this job in the eligible queue. |
rejectPolicies | Set<JobRejectPolicy> | No | No |
The list of policies enabled when a job is rejected. |
requirements | Set<JobRequirement> | Yes | Yes |
The list of items required for this job to run. Only JobRequirement.features is valid during PUT. |
reservationRequested | DomainProxy | Yes | Yes |
The reservation that the job requested. |
resourceFailPolicy | JobResourceFailPolicyType | Yes | No |
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 | No |
If provided during POST, this string will be added to the resource manager extension section of the job submission. For example: 'bandwidth=120;queuejob=false' |
resourceManagers | Set<ResourceManager> | No | No |
The list of resource managers associated with this job. |
shellName | String | Yes | No |
Declares the shell that interprets the job script. |
standardErrorFilePath | String | Yes | No |
The path to the file containing the standard error of the job. |
standardOutputFilePath | String | Yes | No |
The path to the file containing the standard output of the job. |
startCount | Integer | No | No |
The number of times the job has been started. |
states | JobStateInformation | No | No |
Information about the state of the job. |
submitCommandFile | String | No | No |
This read-only field contains the path to the original commandFile as posted to MWS during job submission. |
submitHost | String | No | No |
The host from which the job was submitted. |
systemJobType | JobSystemJobType | No | No | The type of system job. |
templates | Set<DomainProxy> | Yes | No |
The list of all job templates to be set on this job. |
triggers | Set<String> | No | No |
The list of triggers associated with this job. |
variables | Map<String, Map> | Yes | Yes |
The list of variables that this job owns or sets on completion. |
virtualContainers | Set<DomainProxy> | Yes | No |
When submitting this job, add it to the specified existing virtual container. Valid during POST, but only one virtual container can be specified. |
Field Name | Type | POST | PUT |
---|---|---|---|
category | JobBlockCategory | No | No |
createdDate | Date | No | No |
message | String | No | No |
partition | String | No | No |
type | JobBlockType | No | No |
Value |
---|
depend |
jobBlock |
migrate |
Value |
---|
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 | PUT | Description |
---|---|---|---|---|
name | String | Yes | No |
The name of the object on which the job is dependent. |
type | JobDependencyType | Yes | No |
The type of job dependency. Only the 'set' type is valid for POST. |
value | String | No | 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. |
ALLOWPOWERADJUSTMENT | Allow system to dynamically adjust power. |
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 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 admin. |
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. |
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. |
VCMASTER | Job is the master of a virtual container. |
USEMOABJOBID | 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. |
COMMTRANSPARENT | Job does not generate network communication. |
Value | Description |
---|---|
Admin | |
NoResources | |
SystemLimitsExceeded | |
BankFailure | |
CannotDebitAccount | |
InvalidAccount | |
RMFailure | |
RMReject | Resource manager rejects job execution. |
PolicyViolation | Job violates job size policy. |
CredAccess | Job cannot access requested credential. |
CredHold | Credential hold in place. |
PreReq | Job prerequisite failed. |
Data | Data staging cannot be completed. |
Security | Job security cannot be established. |
MissingDependency | Dependency job cannot be found. |
Value | Description |
---|---|
User | The user has manually placed a hold on the job. |
System | The Moab Workload Manager has placed a hold on the job. |
Batch | The batch queue has placed a hold on the job. |
Defer | The job has been deferred. |
All |
During GET, |
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 | PUT | Description |
---|---|---|---|---|
name | String | Yes | No |
The name of the object. |
Value |
---|
superset |
subset |
exactset |
Value | Description |
---|---|
active | A job is actively running in a queue. |
blocked | A job has been blocked because of a policy violation or because resource requirements cannot be met. |
completed | A job has completed running. |
eligible | A job is eligible to run but has not started yet. |
Value |
---|
CANCEL |
HOLD |
IGNORE |
RETRY |
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
architecture | String | Yes | No |
The architecture required by the job. |
attributes | Map<String,JobRequirementAttribute> | Yes | No |
Required node attributes with version number support. |
dedicateAllProcessors | Boolean | No | 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 | Yes |
The list of node features the job is scheduled against. |
featuresExcluded | Set<String> | Yes | No |
Excluded node features. That is, do not select nodes with these features (see also featuresExcludedMode). |
featuresExcludedMode | JobRequirementFeaturesMode | Yes | No |
Indicates whether excluded features should be ANDed or ORed. The default is AND. Only relevant if featuresExcluded is provided (see also featuresExcluded). |
featuresRequested | Set<String> | Yes | No |
Requested node features (see also featuresRequestedMode). |
featuresRequestedMode | JobRequirementFeaturesMode | Yes | No |
Indicates whether requested features should be ANDed or ORed. The default is AND. Only relevant if featuresRequested is provided (see also featuresRequested). |
index | Integer | No | No |
The index of the requirement, starting with 0. |
metrics | Map<String, Double> | No | No |
Generic metrics associated with the job as reported by the resource manager. |
nodeAccessPolicy | NodeAccessPolicy | Yes | No |
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 | No |
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 | No |
The number of nodes required by the job. |
nodeSet | String | Yes | No |
The requested node set of the job. This must follow the format
Examples:
|
nodes | Set<AllocatedNode> | No | No |
Nodes that have been allocated to meet this requirement. |
operatingSystem | String | Yes | No |
The operating system required by the job. |
reservation | DomainProxy | No | No |
The allocated reservation (assigned after the job has a reservation). |
resourcesPerTask | Map<String, JobResource> | Yes | No |
Contains requirements for disk, memory, processors, swap, GPUs, 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 | No |
The number of tasks (processors) required by this job. |
tasksPerNode | Integer | Yes | No |
The number of tasks to map to each node. If you specify tasksPerNode, you must also specify taskCount. |
totalDedicatedProcessors | Integer | No | No |
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
comparator | String | Yes | No |
The comparison operator. Values:
|
displayValue | String | Yes | No |
The display value for the required attribute. |
restriction | JobRequirement AttributeRestriction |
Yes | No |
The restriction of this attribute. Can be null, but defaults to JobRequirement |
value | String | Yes | No |
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 |
---|
must |
Value |
---|
OR |
AND |
This enumeration describes how node resources will be shared by various tasks.
Value | Description |
---|---|
NONE | |
SHARED | Tasks from any combination of jobs can utilize available resources. |
SHAREDONLY | Only jobs requesting shared node access can utilize available resources. |
SINGLEJOB | Tasks from a single job can utilize available resources. |
SINGLETASK | A single task from a single job can run on the node. |
SINGLEUSER | Tasks from any jobs owned by the same user can utilize available resources. |
UNIQUEUSER | Any number of tasks from a single job can allocate resources from a node but only if the user has no other jobs running on that node. |
SINGLEGROUP | Any number of tasks from the same group can utilize node. |
SINGLEACCOUNT | Any number of tasks from the same account can utilize node. |
SINGLECLASS | Any number of tasks from the same class can utilize node. |
SINGLEQOS | Any number of tasks from the same QOS (quality of service) can utilize node. |
Node Allocation enumeration.
Value | Description |
---|---|
FIRSTSET | |
MINGLOBAL | |
MINLOCAL | |
PLUGIN | |
NONE | No node allocation policy is specified. Moab defaults to MINRESOURCE when this is the case. |
FIRSTAVAILABLE | Simple first come, first served algorithm where nodes are allocated in the order they are presented by the resource manager. This is a very simple, very fast algorithm. |
LASTAVAILABLE | This algorithm selects resources so as to minimize the amount of time after the job and before the trailing reservation. This algorithm is a best fit in time algorithm which minimizes the impact of reservation based node-time fragmentation. It is useful in systems where a large number of reservations (job, standing, or administrative) are in place. |
MINRESOURCE | This algorithm prioritizes nodes according to the configured resources on each node. Those nodes with the fewest configured resources which still meet the job's resource constraints are selected. |
CPULOAD |
Nodes are selected which have the maximum amount of available, unused CPU power (i.e., [# of CPUs] - [CPU load]). Good algorithm for timesharing node systems. This algorithm is only applied to jobs starting immediately. For the purpose of future reservations, the MINRESOURCE algorithm is used. |
LOCAL |
This will call the locally created contrib node allocation algorithm. |
CONTIGUOUS | This algorithm will allocate nodes in contiguous (linear) blocks as required by the Compaq RMS system. |
MAXBALANCE | This algorithm will attempt to allocate the most 'balanced' set of nodes possible to a job. In most cases, but not all, the metric for balance of the nodes is node speed. Therefore, if possible, nodes with identical speeds will be allocated to the job. If identical speed nodes cannot be found, the algorithm will allocate the set of nodes with the minimum node speed 'span' or range. |
PRIORITY | This algorithm allows a site to specify the priority of various static and dynamic aspects of compute nodes and allocate them with preference for higher priority nodes. It is highly flexible allowing node attribute and usage information to be combined with reservation affinity. |
FASTEST | This algorithm will select nodes in 'fastest node first' order. Nodes will be selected by node speed if specified. If node speed is not specified, nodes will be selected by processor speed. If neither is specified, nodes will be selected in a random order. |
PROCESSORLOAD | Alias for CPULOAD. |
NODESPEED | Alias for FASTEST. |
INREPORTEDORDER | Alias for FIRSTAVAILABLE. |
INREVERSEREPORTEDORDER | Alias for LASTAVAILABLE. |
CUSTOMPRIORITY | Alias for PRIORITY. |
PROCESSORSPEEDBALANCE | Alias for MAXBALANCE. |
MINIMUMCONFIGUREDRESOURCES | Alias for MINRESOURCE. |
CRAY3DTORUS | Enable topology awareness scheduling algorithm. |
Field Name | Type | POST | PUT |
---|---|---|---|
name | String | No | No |
taskCount | Integer | No | No |
Represents counts of dedicated and utilized resources.
Value |
---|
CANCEL |
FAIL |
HOLD |
IGNORE |
NOTIFY |
REQUEUE |
Field Name | Type | POST | PUT |
---|---|---|---|
isDestination | Boolean | No | No |
isSource | Boolean | No | No |
jobName | String | No | No |
name | String | No | No |
Field Name | Type | POST | PUT |
---|---|---|---|
state | JobState | No | No |
stateExpected | JobState | No | No |
stateLastUpdatedDate | Date | No | No |
subState | JobSubState | No | No |
Value | Description |
---|---|
Idle | Eligible according to all resource manager constraints. |
Starting | Job is launching, executing prolog. |
Running | Job is executing. |
Removed | Job was canceled before executing. |
Completed | Job successfully completed execution. |
Hold | Job is blocked by hold. |
Deferred | Job has a temporary hold. |
Vacated | Job was canceled after partial execution. |
NotQueued | Job is not eligible for execution. |
Unknown | Job state is unknown. |
Staging | Staging of input/output data is currently underway. |
Suspended | Job is no longer executing and remains in memory on the allocated compute nodes. |
Blocked |
Value |
---|
Epilogue |
Migrated |
Preempted |
Prologue |
Value | Description |
---|---|
generic | Generic system job (trigger attached). |
osprovision | Reprovision operating system. |
poweroff | Power off node. |
poweron | Power on node. |
reset | Reboot node. |
Related Topics