调用SubmitJob在指定集群提交作业。

接口说明

在集群提交作业前,请确认上传作业文件(如job.sh)到集群。具体操作,请参见CreateJobFile

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String SubmitJob

系统规定参数。取值:SubmitJob

ClusterId String ehpc-hz-FYUr32****

集群ID。

您可以通过调用ListClusters获取集群ID。

CommandLine String ./LammpsTest/lammps.pbs

执行作业命令。

RunasUser String root

执行作业的用户名。

您可以通过调用ListUsers获取该集群中的用户名。

RunasUserPassword String 12****

用户密码。

Name String job1

作业名称。长度为6~30个字符,必须以英文字母开头,可以包含数字、半角句号(.)。

Priority Integer 0

作业优先级,取值范围:0~9,取值越大,优先级越高。

默认值:0

PackagePath String ./Tem

执行作业路径。

StdoutRedirectPath String ./LammpsTest

标准输出路径。

StderrRedirectPath String ./LammpsTest

错误输出路径。

ReRunable Boolean false

是否支持重新执行作业。取值范围:

  • true:支持
  • false:不支持
ArrayRequest String 1-10:2

队列作业。

格式X-Y:Z, 最小值X是第一个索引,最大值Y是最后一个索引,Z表示步长,例如2-7:2,表示作业队列包含编号为2、4、6的3个子作业。

Variables String [{Name:,Value:},{Name:,Value:}]

执行作业的环境变量,可以在作业执行文件中访问环境变量。

InputFileUrl String https://ehpc-hangzhou.oss-cn-hangzhou.aliyuncs.com/test-u4****/testlist_ehpc.sh

上传到OSS的作业文件的URL地址。

UnzipCmd String tar xzf

解压命令。解压OSS下载的文件。取值范围:

  • tar xzf:解开gzip格式压缩包
  • tar xf:解开tar格式压缩包
  • unzip:解开zip格式压缩包
PostCmdLine String example.sh

提交作业后执行的命令。

ContainerId String ehpc-container-uerfrfffff****

容器应用ID。如果选择使用容器执行作业,必须提供容器应用ID。

您可以通过调用ListContainerApps获取容器应用ID。

JobQueue String workq

执行作业的队列名称。

您可以通过调用ListQueues获取队列名称。

Node Integer 2

执行作业所需的计算节点数。

说明 若该参数为空,则参数Task、Thread、Mem、Gpu不生效。
Task Integer 2

单个计算节点所需任务数。

Thread Integer 1

单个任务所需线程数。

Mem String 1GB

单个计算节点最大使用内存数,支持GB、MB、KB,单位不区分大小写。

Gpu Integer 1

单个计算节点使用GPU的数量。

仅支持使用PBS调度器的集群,且集群内计算节点含GPU时该参数生效。

ClockTime String 12:00:00

作业最大运行时间,支持三种格式:

  • hh:mm:ss
  • mm:ss
  • ss

推荐使用第一种格式。若最大运行时间为12小时,示例:12:00:00。

返回数据

名称 类型 示例值 描述
JobId String 1.manager

作业ID。

RequestId String 04F0F334-1335-436C-A1D7-6C044FE7****

请求ID。

示例

请求示例

https://ehpc.cn-hangzhou.aliyuncs.com/?Action=SubmitJob
&ClusterId=ehpc-hz-FYUr32****
&CommandLine=./LammpsTest/lammps.pbs
&RunasUser=root
&RunasUserPassword=12****
&<公共请求参数>

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<SubmitJobResponse>
    <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>
    <JobId>1.manager</JobId>
</SubmitJobResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "04F0F334-1335-436C-A1D7-6C044FE7****",
  "JobId" : "1.manager"
}

错误码

HttpCode 错误码 错误信息 描述
400 InvalidParams The specified parameter %s is invalid. 无效的参数: %s
400 NotEnabled You have not enabled this service 您的账户还未开通此服务
400 InDebt Your account has overdue payments. 您的账户已欠费
403 InvalidClusterStatus The operation failed due to invalid cluster status. 集群状态不允许执行本次操作。
403 ConflictOpt A conflicting operation is running. 有冲突的操作在执行中,请您稍后再试。
403 UsernameExist The username already exists. 用户名已存在
403 IncorrectCredential The username or password is incorrect. 用户名或密码错误
403 AgentError.Account.ValidateCredentialFailure Username or password verification failed. 用户名或密码验证失败
404 ClusterNotFound The specified cluster does not exist. 指定的集群不存在,请您检查该参数是否正确。
404 ContainerNotFound The specified container does not exist. 指定的容器应用不存在
404 ManagerNotFound The manager nodes do not exist or their status is abnormal. 管理节点不存在或状态异常。
406 AgentError The agent service request failed. 代理请求失败
406 AgentError.Job.SubmitFailure Failed to submit jobs: %s 提交作业失败: {}
406 AgentError.Job.InvalidContainerType Unsupported container type: %s. 无效容器类型: %s
406 AliyunError An Alibaba Cloud product error occurred. 阿里云产品错误
406 AgentError.Account.AccountValidateCredentialFailure Cannot get user info 无法获取用户信息
407 NotAuthorized You are not authorized by RAM for this request. 此请求未获得RAM授权
409 PartFailure Part of the batch operation failed. 批量操作部分失败
500 UnknownError An unknown error occurred. 未知错误,请您稍后再试,若还出现相同的错误请提交工单处理。
503 ServiceUnavailable The request has failed due to a temporary failure of the server 请求失败,服务暂时不可用

访问错误中心查看更多错误码。