Submit Job

Submits a job to the HPC Job Scheduler Service so that the HPC Job Scheduler Service can add the job to the queue of jobs to run.

Request

You can specify the Submit Job request as follows.

Method Request URI
POST (before HPC Pack 2016) https://head_node_name:port/WindowsHPC/HPC_cluster_name/Job/job_identifier/Submit
POST (HPC Pack 2016) https://head_node_name:port/WindowsHPC/Job/job_identifier/Submit

 

For instances of the REST web service that are hosted in Azure, the head node name should have a format of Windows_Azure_service_name.cloudapp.net.

To get the name to use for an HPC cluster that runs at least Microsoft HPC Pack 2008 R2 with Service Pack 3 (SP3), use the Get Clusters operation.

URI Parameters

You can specify the following additional parameters on the request URI.

Parameter Description
api-version

Optional. Specifies the version of the operation to use for this request. To specify Microsoft HPC Pack 2008 R2 with Service Pack 3 (SP3), use a value of 2011-11-01. The minimum version that supports this URI parameter is Microsoft HPC Pack 2008 R2 with SP3.

The value of this URI parameter is ignored if the request also contains the api-version header.

 

Request Headers

The following table describes required and optional request headers.

Request Header Description
api-version

Optional. Specifies the version of the operation to use for this request. To specify Microsoft HPC Pack 2008 R2 with SP3, use a value of 2011-11-01. The minimum version that supports this header is Microsoft HPC Pack 2008 R2 with SP3.

The value specified in this header overrides the value specified in the api-version URI parameter if both are specified.

CCP_Version

Optional. Specifies the version of the operation to use for this request.

Deprecated beginning with Microsoft HPC Pack 2008 R2 with Service Pack 3 (SP3).

 

Request Body

The format of the request body is as follows.

<ArrayOfProperty xmlns="https://schemas.microsoft.com/HPCS2008R2/common">
    <Property>
        <Name>Property Name</Name>
        <Value>Property Value</Value>
    </Property>
    <Property>
        <Name>Property Name</Name>
        <Value>Property Value</Value>
    </Property>
    …
</ArrayOfProperty>

The following table describes each of the elements in this request XML.

Element Description
ArrayOfProperty

Represents the set of properties for the job for which you want to set values before you submit the job to the HPC Job Scheduler Service. To submit a job without changing the values of any of the properties of the job, use an empty ArrayOfProperty element.

Property

Represents a single property for the job.

Name

Contains the name of the property that you want to set.

Value

Contains the value to which you want to set the property.

 

Response

The response includes an HTTP status code and a set of response headers.

Status Code

A successful operation returns status code 200 (OK). For more information about status codes, see HttpStatusCode.

The error response is dependent upon the api-version used in the request. If the api-version is not provided, or CCP_Version is specified, then the error response will be an XML string (Note: The error message will vary based on the error):

<string xmlns="https://schemas.microsoft.com/2003/10/Serialization/">Error message text.</string>

If the api-version is 2011-11-01 or later, the error message will be a more descriptive XML response (Note: Values will vary based on the error):

<HpcWebServiceFault xmlns="https://schemas.microsoft.com/HPCS2008R2/common" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <Code>267386880</Code>
  <Message>Error message text.</Message>
  <Values i:nil="true" xmlns:a="http://schemas.datacontract.org/2004/07/System.Collections.Generic"/>
</HpcWebServiceFault>

Response Headers

The response for this operation includes the following headers.

Response Header Description
x-ms-hpc-authoritychain

A comma-separated list of RFC 1918 IP addresses that indicate the sequence of instances of the REST web service that the operation called in order from to right.

Only responses from instances of the REST web service that are hosted on Azure contain this header. Responses from instances of the REST web service that are hosted on premise omit this header.

This header is supported beginning with Microsoft HPC Pack 2008 R2 with SP3 and is not available in previous versions.

 

The response for this operation also includes standard HTTP headers. All standard headers conform to the HTTP/1.1 protocol specification.

Response Body

None.

Remarks

If the credentials for the account under which the job should run are not cached on the server, you can set them in the UserName and Password properties.

A job that is submitted by using this operation is not validated. After the job is submitted, you can get information about the job by using theGet Job operation.

The following table shows the job properties for which you can set the values when you submit the job to the HPC Job Scheduler Service. For information about the property, including the versions of Microsoft HPC Pack that support it, see the corresponding property of the ISchedulerJob interface or JobPropertyIds class in the managed API for Microsoft HPC Pack.

Property Corresponding ISchedulerJob or JobPropertyIds Property
Name ISchedulerJob.Name
UserName ISchedulerJob.UserName
Project ISchedulerJob.Project
RuntimeSeconds ISchedulerJob.Runtime
MinCores ISchedulerJob.MinimumNumberOfCores
MaxCores ISchedulerJob.MaximumNumberOfCores
MinNodes ISchedulerJob.MinimumNumberOfNodes
MaxNodes ISchedulerJob.MaximumNumberOfNodes
MinSockets ISchedulerJob.MinimumNumberOfSockets
MaxSockets ISchedulerJob.MaximumNumberOfSockets
UnitType ISchedulerJob.UnitType
RequestedNodes ISchedulerJob.RequestedNodes
IsExclusive ISchedulerJob.IsExclusive
RunUntilCanceled ISchedulerJob.RunUntilCanceled
NodeGroups ISchedulerJob.NodeGroups
FailOnTaskFailure ISchedulerJob.FailOnTaskFailure
AutoCalculateMax ISchedulerJob.AutoCalculateMax
AutoCalculateMin ISchedulerJob.AutoCalculateMin
Preemptable ISchedulerJob.CanPreempt
MinMemory ISchedulerJob.MinMemory
MaxMemory ISchedulerJob.MaxMemory
MinCoresPerNode ISchedulerJob.MinCoresPerNode
MaxCoresPerNode ISchedulerJob.MaxCoresPerNode
SoftwareLicense ISchedulerJob.SoftwareLicense
OrderBy ISchedulerJob.OrderBy
ClientSource ISchedulerJob.ClientSource
Progress ISchedulerJob.Progress
ProgressMessage ISchedulerJob.ProgressMessage
TargetResourceCount ISchedulerJob.TargetResourceCount
ExpandedPriority ISchedulerJob.ExpandedPriority
ServiceName ISchedulerJob.ServiceName
NotifyOnStart ISchedulerJob.NotifyOnStart
NotifyOnCompletion ISchedulerJob.NotifyOnCompletion
EmailAddress ISchedulerJob.EmailAddress
Priority ISchedulerJob.Priority
Password JobPropertyIds.Password
JobTemplate ISchedulerJob.JobTemplate
Pool ISchedulerJob.Pool
JobValidExitCodes ISchedulerJob.ValidExitCodes
ParentJobIds ISchedulerJob.ParentJobIds
FailDependentTasks ISchedulerJob.FailDependentTasks
NodeGroupOp ISchedulerJob.NodeGroupOp
SingleNode ISchedulerJob.SingleNode
HoldUntil ISchedulerJob.HoldUntil
ChildJobIds ISchedulerJob.ChildJobIds
EstimatedProcessMemory ISchedulerJob.EstimatedProcessMemory

 

Requirements

Product

HPC Pack 2008 R2 with at least SP2, or a later version of HPC Pack.