调用ListJobs获取任务列表。
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-schedulerx2</artifactId>
<version>1.0.5</version>
</dependency>
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | ListJobs |
系统规定参数。取值:ListJobs。 |
GroupId | String | 是 | DocTest.Group |
应用ID,在控制台的应用管理页面中获取。 |
Namespace | String | 是 | 1a72ecb1-b4cc-400a-a71b-20cdec9b**** |
命名空间,在控制台的命名空间页面中获取。 |
RegionId | String | 是 | cn-hangzhou |
地域ID。 |
NamespaceSource | String | 否 | schedulerx |
特殊第三方才需要填写。 |
JobName | String | 否 | helloword |
任务名称。 |
Status | String | 否 | 1 |
任务状态。
|
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
Code | Integer | 200 |
请求状态码。 |
Data | Struct |
任务列表信息。 |
|
Jobs | Array of Job |
任务列表及任务详情。 |
|
AttemptInterval | Integer | 30 |
错误重试间隔,单位s,默认值为30。 |
ClassName | String | com.alibaba.schedulerx.test.helloworld |
任务接口类完整路径。 当您的任务是Java任务类型时,才有该字段信息。 |
Content | String | echo 'hello' |
python、shell、go任务类型的脚本代码内容。 |
Description | String | Test |
任务描述。 |
ExecuteMode | String | standalone |
任务执行模式,可能出现的结果如下:
|
JarUrl | String | https:doc***.oss-cn-hangzhou.aliyuncs.com/sc-****-D-0.0.2-SNAPSHOT.jar |
JAR包的OSS完整路径。 |
JobId | Long | 99341 |
任务ID。 |
JobMonitorInfo | Struct |
任务监控信息。 |
|
ContactInfo | Array of ContactInfo |
联系人信息。 |
|
UserName | String | userA |
用户名称。 |
UserPhone | String | 1381111**** |
用户手机号。 |
MonitorConfig | Struct |
报警开关以及阈值配置。 |
|
FailEnable | Boolean | true |
失败报警开关。取值如下:
|
SendChannel | String | sms |
报警发送形式,目前只支持sms。 |
Timeout | Long | 12300 |
超时阈值,单位s,默认7200。 |
TimeoutEnable | Boolean | true |
超时报警开关。取值如下:
|
TimeoutKillEnable | Boolean | false |
超时终止本次触发开关,默认关闭。
|
MapTaskXAttrs | Struct |
高级配置,仅限于并行计算、内存网格和网格计算使用。 |
|
ConsumerSize | Integer | 5 |
单机单次触发执行线程数,默认值为5。 |
DispatcherSize | Integer | 5 |
子任务分发线程数,默认值为5。 |
PageSize | Integer | 100 |
并行任务单次拉取子任务数,默认值为100。 |
QueueSize | Integer | 10000 |
子任务队列缓存上限,默认值为10000。 |
TaskAttemptInterval | Integer | 0 |
子任务失败重试间隔。 |
TaskMaxAttempt | Integer | 0 |
子任务失败重试次数。 |
MaxAttempt | Integer | 0 |
错误最大重试次数,根据业务需求填写,默认值为0。 |
MaxConcurrency | String | 1 |
最大同时运行实例数量,默认值为1, 即上次触发没有运行结束,即使到了运行时刻也不会进行下次触发。 |
Name | String | helloworld |
任务名。 |
Parameters | String | test |
用户自定义参数,运行时可以获取。 |
Status | Integer | 1 |
任务状态。取值如下:
|
TimeConfig | Struct |
时间配置信息 |
|
Calendar | String | 工作日 |
cron类型可以选择填写自定义日历。 |
DataOffset | Integer | 0 |
cron类型可以选择时间偏移,单位s。 |
TimeExpression | String | 0 0/10 * * * ? |
时间表达式,目前支持以下几种时间表达类型:
|
TimeType | Integer | 1 |
时间配置类型,目前支持以下几种时间类型:
|
Message | String | namespace can not find namespace: 1a72ecb1-b4cc-400a-a71b-20cdec9b****, namespaceSource:null |
错误信息,仅出错时返回错误信息。 |
RequestId | String | 71BCC0E3-64B2-4B63-A870-AFB64EBCB58B |
请求唯一ID。 |
Success | Boolean | true |
调用接口是否成功。取值如下:
|
示例
请求示例
http(s)://[Endpoint]/?Action=ListJobs
&GroupId=DocTest.Group
&Namespace=1a72ecb1-b4cc-400a-a71b-20cdec9b****
&RegionId=cn-hangzhou
&<公共请求参数>
正常返回示例
XML
格式
<ListJobsResponse>
<Message>namespace can not find namespace: 1a72ecb1-b4cc-400a-a71b-20cdec9b****, namespaceSource:null</Message>
<RequestId>71BCC0E3-64B2-4B63-A870-AFB64EBCB58B</RequestId>
<Data>
<Jobs>
<Status>1</Status>
<MaxAttempt>0</MaxAttempt>
<Parameters>test</Parameters>
<Description>Test</Description>
<Content>echo 'hello'</Content>
<JarUrl>https:doc***.oss-cn-hangzhou.aliyuncs.com/sc-****-D-0.0.2-SNAPSHOT.jar</JarUrl>
<MaxConcurrency>1</MaxConcurrency>
<ClassName>com.alibaba.schedulerx.test.helloworld</ClassName>
<AttemptInterval>30</AttemptInterval>
<ExecuteMode>standalone</ExecuteMode>
<JobId>99341</JobId>
<Name>helloworld</Name>
<MapTaskXAttrs>
<TaskAttemptInterval>0</TaskAttemptInterval>
<QueueSize>10000</QueueSize>
<DispatcherSize>5</DispatcherSize>
<PageSize>100</PageSize>
<TaskMaxAttempt>0</TaskMaxAttempt>
<ConsumerSize>5</ConsumerSize>
</MapTaskXAttrs>
<TimeConfig>
<Calendar>工作日</Calendar>
<TimeExpression>0 0/10 * * * ?</TimeExpression>
<DataOffset>0</DataOffset>
<TimeType>1</TimeType>
</TimeConfig>
<JobMonitorInfo>
<ContactInfo>
<UserName>userA</UserName>
<UserPhone>1381111****</UserPhone>
</ContactInfo>
<MonitorConfig>
<TimeoutEnable>true</TimeoutEnable>
<Timeout>12300</Timeout>
<FailEnable>true</FailEnable>
<SendChannel>sms</SendChannel>
<TimeoutKillEnable>false</TimeoutKillEnable>
</MonitorConfig>
</JobMonitorInfo>
</Jobs>
</Data>
<Code>200</Code>
<Success>true</Success>
</ListJobsResponse>
JSON
格式
{
"Message": "namespace can not find namespace: 1a72ecb1-b4cc-400a-a71b-20cdec9b****, namespaceSource:null",
"RequestId": "71BCC0E3-64B2-4B63-A870-AFB64EBCB58B",
"Data": {
"Jobs": {
"Status": 1,
"MaxAttempt": 0,
"Parameters": "test",
"Description": "Test",
"Content": "echo 'hello'",
"JarUrl": "https:doc***.oss-cn-hangzhou.aliyuncs.com/sc-****-D-0.0.2-SNAPSHOT.jar",
"MaxConcurrency": 1,
"ClassName": "com.alibaba.schedulerx.test.helloworld",
"AttemptInterval": 30,
"ExecuteMode": "standalone",
"JobId": 99341,
"Name": "helloworld",
"MapTaskXAttrs": {
"TaskAttemptInterval": 0,
"QueueSize": 10000,
"DispatcherSize": 5,
"PageSize": 100,
"TaskMaxAttempt": 0,
"ConsumerSize": 5
},
"TimeConfig": {
"Calendar": "工作日",
"TimeExpression": "0 0/10 * * * ?",
"DataOffset": 0,
"TimeType": 1
},
"JobMonitorInfo": {
"ContactInfo": {
"UserName": "userA",
"UserPhone": "1381111****"
},
"MonitorConfig": {
"TimeoutEnable": true,
"Timeout": 12300,
"FailEnable": true,
"SendChannel": "sms",
"TimeoutKillEnable": false
}
}
}
},
"Code": 200,
"Success": true
}
Demo
package com.alibaba.schedulerx.pop;
import java.util.List;
import com.alibaba.schedulerx.common.util.JsonUtil;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.schedulerx2.model.v20190430.ListJobsRequest;
import com.aliyuncs.schedulerx2.model.v20190430.ListJobsResponse;
import com.aliyuncs.schedulerx2.model.v20190430.ListJobsResponse.Data.Job;
public class TestListJobs {
public static void main(String[] args) {
//OpenAPI的接入点,具体查看支持地域列表以及购买机器地域填写。
String regionId = "cn-hangzhou";
//鉴权使用的AccessKey ID,由阿里云官网控制台获取。
String accessKeyId = "XXXXXXXX";
//鉴权使用的AccessKey Secret,由阿里云官网控制台获取。
String accessKeySecret = "XXXXXXXX";
//产品名称
String productName ="schedulerx2";
//对照支持地域列表选择Domain填写
String domain ="schedulerx.cn.hangzhou.aliyuncs.com";
//构建OpenAPI客户端。
DefaultProfile.addEndpoint(regionId, productName, domain);
DefaultProfile defaultProfile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);
DefaultAcsClient client = new DefaultAcsClient(defaultProfile);
ListJobsRequest request = new ListJobsRequest();
//命名空间。
request.setNamespace("433d8b23-06e9-408c-aaaa-90d4d1b****");
//应用ID。
request.setGroupId("DocTest.Group");
ListJobsResponse response;
try {
response = client.getAcsResponse(request);
if (!response.getSuccess()) {
System.out.println(JsonUtil.toJson(response));
System.out.println(response.getCode());
} else {
System.out.println(JsonUtil.toJson(response));
List<Job> jobs = response.getData().getJobs();
for (Job job : jobs) {
System.out.println("jobId:" + job.getJobId() + ", name:" + job.getName() + ", status=" + job.getStatus());
}
}
} catch (ServerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClientException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}