作业
查询实时作业详情
1.接口说明
接口路径:/hpc/openapi/v2/jobs/{jobId}
请求方式:GET
请求数据类型:
接口描述:查询实时作业的详细信息
2.请求消息
请求参数:
Headers:
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
token | string | 是 | 接口凭证 | eyJhbGciOiJIUzI1N... |
参数:
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
jobId | string | 是 | 作业ID | 5_1 |
3.请求示例
cURL请求示例
curl --location 'https://api01.xxx.com:65106/hpc/openapi/v2/jobs/35919' \
--header 'Content-Type: application/json' \
--header 'token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb21wdXRlVXNlciI6InNsdXJtdGVzdCIsImFjY291bnRTdGF0dXMiOiJUcmlhbCIsImNyZWF0b3IiOiJhYyIsInJvbGUiOiIxIiwiZXhwaXJlVGltZSI6IjE2ODU2MDAyMjU2MTUiLCJjbHVzdGVySWQiOiIxMTExMiIsImludm9rZXIiOiI2MDQ4Y2U3YmExNWMyYWYyZThjZWMxMjk5MWVjMTNjZiIsInVzZXIiOiJzbHVybXRlc3QiLCJ1c2VySWQiOiIxMTY1NTA0ODU0MSJ9.iLCKJ8PnDDK0_SA2NPYm1WozUG8D5ojwFqFhwaJCDc8'
Java请求示例
import okhttp3.*;
public class QueryJobDetailByIdDemo {
public static final String TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb21wdXRlVXNlciI6InNsdXJtdGVzdCIsImFjY291bnRTdGF0dXMiOiJUcmlhbCIsImNyZWF0b3IiOiJhYyIsInJvbGUiOiIxIiwiZXhwaXJlVGltZSI6IjE2ODY5MDg1MDkyMzEiLCJjbHVzdGVySWQiOiIxMTExMiIsImludm9rZXIiOiI2MDQ4Y2U3YmExNWMyYWYyZThjZWMxMjk5MWVjMTNjZiIsInVzZXIiOiJzbHVybXRlc3QiLCJ1c2VySWQiOiIxMTY1NTA0ODU0MSJ9.U7pZKgO_K6NuRwOWPxblDfgRpGeVxS-BYieOdLhGDK4";
public static void main(String[] args) throws Exception {
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
Request request = new Request.Builder()
.url("https://api01.xxx.com:65106/hpc/openapi/v2/jobs/35946")
.method("GET", null)
.addHeader("Content-Type", "application/json")
.addHeader("token", TOKEN)
.build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());
}
}
Python请求示例
import requests
import json
url = "https://api01.xxx.com:65106/hpc/openapi/v2/jobs/35919"
payload = {}
headers = {
'Content-Type': 'application/json',
'token': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb21wdXRlVXNlciI6InNsdXJtdGVzdCIsImFjY291bnRTdGF0dXMiOiJUcmlhbCIsImNyZWF0b3IiOiJhYyIsInJvbGUiOiIxIiwiZXhwaXJlVGltZSI6IjE2ODU2MDAyMjU2MTUiLCJjbHVzdGVySWQiOiIxMTExMiIsImludm9rZXIiOiI2MDQ4Y2U3YmExNWMyYWYyZThjZWMxMjk5MWVjMTNjZiIsInVzZXIiOiJzbHVybXRlc3QiLCJ1c2VySWQiOiIxMTY1NTA0ODU0MSJ9.iLCKJ8PnDDK0_SA2NPYm1WozUG8D5ojwFqFhwaJCDc8'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
4.响应消息
返回参数:
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
msg | string | 信息 | success |
code | string | 状态码 | 0 |
data | object | 作业对象 | 0 |
appType | string | 应用类型 | FLUENT |
aveRSS | string | 作业运行状态占用的物理内存 | 217404K |
aveVMSize | string | 作业运行状态占用的虚拟内存 | 1150244K |
cpuTimeUsed | string | 占用CPU时间 | |
dcuNumReq | long | 请求的DCU数量 | |
dcuNumUsed | long | 使用的DCU数量 | |
errorPath | string | 错误输出路径 | /public/home/demo/00-HPC-CASE/FLUENT_1027_105403/std.err.111 |
exitCode | string | 作业退出码 | |
gpuNumReq | long | 请求的GPU数量 | 0 |
gpuNumUsed | long | 使用的GPU数量 | 0 |
jobEndTime | string | 作业结束时间 | |
jobId | string | 作业ID | 111 |
jobInitAttr | map | 作业的原始信息 | |
Account | string | demo | |
AccrueTime | string | 2021-11-04T20:47:16 | |
AllocNode:Sid | map | node248:23026 | |
BatchFlag | string | 1 | |
CPUs/Task | string | 1 | |
Command | string | /public/home/demo/00-HPC-CASE/FLUENT_1027_105403/job_FLUENT.slurm | |
CommandExist | string | true | |
Comment | string | FLUENT | |
Contiguous | string | 0 | |
CoreSpec | string | * | |
Deadline | string | N/A | |
DelayBoot | string | 00:00:00 | |
Dependency | string | ||
EligibleTime | string | 2021-11-04T20:47:16 | |
EndTime | string | 2021-11-05T20:47:17 | |
ExcNodeList | string | ||
ExitCode | string | 0:0 | |
Features | string | ||
GroupId | string | demo(1001) | |
JobId | string | 111 | |
JobName | string | FLUENT_1104_210037 | |
JobState | string | RUNNING | |
Licenses | string | ||
MCS_label | string | N/A | |
MinCPUsNode | string | ||
MinTmpDiskNode | string | 0 | |
Network | string | ||
Nice | string | 0 | |
NodeList | string | node248 | |
NtasksPerN:B:S:C | string | 2:0:*:* | |
NumCPUs | string | 2 | |
NumNodes | string | 1 | |
NumTasks | string | 2 | |
OverSubscribe | string | OK | |
Partition | string | debug | |
Power | string | ||
Priority | string | 1000 | |
QOS | string | user_demo | |
Reason | string | None | |
Reboot | string | 0 | |
ReqB:S:C:T | int | 0:0:*:* | |
ReqNodeList | string | ||
Requeue | string | 1 | |
Restarts | string | 0 | |
RunTime | string | 00:00:15 | |
BatchHost | string | node248 | |
SecsPreSuspend | string | 0 LastSchedEval=2021-11-04T20:47:17 | |
Socks/Node | string | * | |
StartTime | string | 2021-11-04T20:47:17 | |
StdErr | string | /public/home/demo/00-HPC-CASE/FLUENT_1027_105403/std.err.111 | |
StdIn | string | /dev/null | |
StdOut | string | /public/home/demo/00-HPC-CASE/FLUENT_1027_105403/std.out.111 | |
SubmitTime | string | 2021-11-04T20:47:16 | |
SuspendTime | string | None | |
TRES | int | cpu=2,mem=4306M,node=1,billing=2 | |
TimeLimit | string | 1-00:00:00 | |
TimeMin | string | N/A | |
UserId | string | test(1001) | |
WorkDir | string | /public/home/test/00-HPC-CASE/FLUENT_1027_105403 | |
jobName | string | 作业名称 | FLUENT_1104_210037 |
jobRunTime | string | 作业运行时间 | 00:00:15 |
jobStartTime | string | 作业开始时间 | 2021-11-04 20:47:17 |
jobStatus | string | 作业状态 | statR |
jobSubmitTime | string | 作业提交时间 | 2021-11-04 20:47:16 |
jobVncSessionInfo | object | 作业的VNC信息(作业未用到vnc则为空) | |
archive | string | VncViewer.jar文件 | VncViewer.jar |
iClientNumber | int | 连接该会话的客户端数 | 0 |
iPixelDepth | string | 0 | |
listClients | array | 会话客户端地址列表 | |
locale | string | 编码方式 | zh_CN.UTF-8 |
loginPasswd | string | 会话登录密码 | 0449d1b0 |
mapSessionExtraAttrs | map | 其它会话属性 | |
strAuthType | string | 认证方式 | |
strGeometry | string | 宽和高 | 1280x1088 |
strJobManagerAddr | string | 会话所属区域的地址 | 10.0.35.248 |
strJobManagerID | string | 调度器ID | 1634819344 |
strJobManagerName | string | 会话所属区域的名称 | Cluster_node248 |
strRelateJobID | string | 相关作业号 | 111 |
strServerAddr | string | 会话所在主机的地址 | 10.0.35.248 |
strServerName | string | 会话所在主机的主机名 | node248 |
strSessionCTime | string | 会话创建时间 | 2021-11-04 20:47:23 |
strSessionHeight | string | 会话高度 | 1088 |
strSessionID | string | 会话ID号 | 1 |
strSessionOwner | string | 会话所有者 | test |
strSessionType | string | 会话类型 | |
strSessionWidth | string | 会话宽度 | 1280 |
vncCode | string | VncViewer.class 文件 | com.tigervnc.vncviewer.VncViewer.class |
jobmanagerId | string | 调度器ID | 1634819344 |
jobmanagerName | string | 调度器名称 | Cluster_node248 |
jobmanagerType | string | 调度器类型 | slrum/pbs |
memUsed | string | 占用物理内存,格式为字符串(字符串中带有单位),单位为M | 4306M |
nodeNumReq | string | 请求的节点数 | 1 |
nodeUsed | string | 使用的节点(节点名称字符串,包含使用CPU的节点和使用GPU的节点),多个节点用加号连接 | node248 |
outputPath | string | 标准输出路径 | /public/home/test/00-HPC-CASE/FLUENT_1027_105403/std.out.111 |
priority | string | 作业优先级 | 1000 |
procNumReq | string | 请求的CPU数 | 2 |
procNumUsed | string | 使用的CPU个数 | 2 |
queue | string | 队列 | debug |
restarts | string | 作业的重启次数 | 0 |
scale | string | 作业规模 | |
user | string | 用户 | test |
walltimeReq | string | 请求的Walltime时间 | 1-00:00:00 |
workDir | string | 工作路径 | /public/home/test/00-HPC-CASE/FLUENT_1027_105403 |
返回示例:
{
"code": "0",
"msg": "success",
"data": {
"jobId": "23",
"jobName": "STDIN_0910_094758",
"jobStatus": "statR",
"queue": "debug",
"user": "test",
"jobSubmitTime": "2021-12-10 15:10:17",
"jobStartTime": "2021-12-10 15:10:17",
"jobEndTime": null,
"exitCode": null,
"nodeUsed": "h04r3n07",
"procNumUsed": 1,
"gpuNumUsed": 0,
"dcuNumUsed": null,
"memUsed": "3826M",
"cpuTimeUsed": null,
"jobRunTime": "01:10:59",
"walltimeReq": "1-00:00:00",
"nodeNumReq": 1,
"procNumReq": 1,
"gpuNumReq": 0,
"dcuNumReq": null,
"workDir": "/public/home/test/BASE/STDIN_1210_114429",
"errorPath": "/public/home/test/BASE/STDIN_1210_114429/std.err.23",
"outputPath": "/public/home/test/BASE/STDIN_1210_114429/std.out.23",
"priority": "1000",
"account": null,
"appType": "BASE",
"scale": null,
"jobVncSessionInfo": null,
"jobInitAttr": {
"Account": "test",
"DelayBoot": "00:00:00",
"ExitCode": "0:0",
"MinCPUsNode": "1 MinMemoryCPU=3826M",
"Licenses": "",
"TRES": "cpu=1,mem=3826M,node=1,billing=1",
"NtasksPerN:B:S:C": "0:0:*:*",
"Network": "",
"JobState": "RUNNING",
"Requeue": "1",
"CoreSpec": "*",
"ExcNodeList": "",
"Contiguous": "0",
"SuspendTime": "None",
"Priority": "1000",
"Restarts": "0",
"Deadline": "N/A",
"NodeList": "h04r3n07",
"StartTime": "2021-12-10T15:10:17",
"Dependency": "",
"ReqB:S:C:T": "0:0:*:*",
"SubmitTime": "2021-12-10T15:10:17",
"BatchFlag": "1",
"SecsPreSuspend": "0 LastSchedEval=2021-12-10T15:10:17",
"WorkDir": "/public/home/test/BASE/STDIN_1210_114429",
"NumCPUs": "1",
"NumNodes": "1",
"TimeMin": "N/A",
"RunTime": "01:10:59",
"EndTime": "2021-12-11T15:10:17",
"JobName": "STDIN_0910_094758",
"Reason": "None",
"StdIn": "/dev/null",
"StdErr": "/public/home/test/BASE/STDIN_1210_114429/std.err.23",
"AllocNode:Sid": "h04r3n07:14034",
"OverSubscribe": "OK",
"MCS_label": "N/A",
"Nice": "0",
"Features": "",
"JobId": "23",
"TimeLimit": "1-00:00:00",
"EligibleTime": "2021-12-10T15:10:17",
"Partition": "debug",
"Socks/Node": "*",
"Comment": "BASE",
"ReqNodeList": "",
"MinTmpDiskNode": "0",
"NumTasks": "1",
"GroupId": "test(10005)",
"Reboot": "0",
"QOS": "test_qos",
"CommandExist": "true",
"Command": "/public/home/test/BASE/STDIN_1210_114429/job_BASE.slurm",
"UserId": "test(2002)",
"BatchHost": "h04r3n07",
"StdOut": "/public/home/test/BASE/STDIN_1210_114429/std.out.23",
"AccrueTime": "2021-12-10T15:10:17",
"CPUs/Task": "1",
"Power": ""
},
"jobmanagerId": "1638523853",
"jobmanagerName": "Cluster",
"jobmanagerType": "SLURM",
"restarts": "0",
"aveVMSize": "221140K",
"aveRSS": "1800K|"
}
}
5.错误码
错误码 | 说明 |
---|---|
0 | 成功 |
10001 | 内部错误 |
10003 | 参数不全 |
10004 | 参数无效 |
10007 | 用户已被冻结 |
10008 | 权限不足 |
10009 | 没有权限访问接口 |
10010 | 文件校验失败 |
10011 | 文件过大 |
10012 | 连接中断 |
10013 | 操作超时 |
815005 | 作业提交失败(调度系统没返回) |
815007 | 作业提交失败(调度系统sbatch失败) |