文档首页 > > SDK参考> Java SDK参考> 接口说明> 任务> 添加任务

添加任务

分享
更新时间: 2019/04/26 GMT+08:00

接口名称

addTask

功能介绍

该接口用于向作业属性为队列的作业中添加任务。

请求参数

请求参数如表1所示。

表1 addTask参数说明

参数

是否为必选

参数类型

说明

jobId

String

作业ID。

taskAddParameter

TaskAddParameter

作业的添加参数的对象。参数可参考表2

表2 TaskAddParameter参数说明

参数

是否为必选

参数类型

说明

taskDefinition

TaskDediniton

任务定义,任务信息可参考表3

replicas

Integer

任务数。

取值范围:1-100。

默认为1。

taskGroupName

String

任务组名称。在一个作业中taskGroupName唯一,默认taskGroupName与taskNamePrefix同名。

取值范围:2-24。

说明:

只能以小写字母(a~z)开头,由小写字母、数字(0~9)、中划线(-)组成,不能以中划线结尾。

networks

Network

任务的网络配置,网络配置信息可参考表12

默认值为NULL。

notification

Notification

订阅任务事件,订阅事件的参数可参考表13

默认值为NULL。

表3 taskDefinition字段数据结构说明

参数

是否为必选

参数类型

说明

taskNamePrefix

String

任务名称前缀。假设taskNamePrefix为taskA, 根据replicas数量,生成taskName名称依次为{taskA.0, taskA.1, …, taskA.[replicas-1]}。

取值范围:2-24。

说明:

只能以小写字母(a~z)开头,由小写字母、数字(0~9)、中划线(-)组成,不能以中划线结尾。

retryPolicy

RetryPolicy

重试次数,参数信息可参考表4

默认值为NULL。

resourceLimit

ResourceLimit

任务资源限制,包括容器和虚拟机进程,资源信息可参考表5

默认值为NULL。

env

Map<String, String>

环境变量,会覆盖任务中相同变量值的环境变量。

key变量取值范围:以英文字母或下划线开始,由数字、字母、下划线组成。

value变量值取值范围:ASCII可显示字符。

环境变量最大长度:8192。

inputs

List<Input>

数据输入列表,可参考表7

outputs

List<Output>

数据输出列表,可参考表8

description

String

任务描述信息。

取值范围:0-1024个字符,ASCII可显示字符。

默认值为NULL。

logRedirectPath

LogRedirectPath

设置日志重定向路径,可参考表9

cmd

String

任务执行命令。

取值范围:ASCII可显示字符,长度为1-2048个字符。

默认值为NULL。

docker

Docker

非空时为容器型任务,容器内容可参考表10

默认值为NULL。

resourceAffinity

ResourceAffinity

设定任务的资源亲和性,可参考表11

默认值为NULL。

表4 retryPolicy字段数据结构说明

参数

是否为必选

参数类型

说明

maxRetryCnt

Integer

最大重试次数。

取值范围:0-100。

表5 resourceLimit字段数据结构说明

参数

是否为必选

参数类型

说明

cpu

Integer

核数。

单位为个,最小值为1。

mem

Integer

内存。

单位为MB,最小值为128。

gpu

Gpu

gpu资源描述,描述信息可参考表6

默认值为NULL。

表6 gpu字段数据结构说明

参数

是否为必选

参数类型

说明

type

String

gpu型号。目前支持P4、P40或P100。

amount

Integer

gpu数目。

取值范围:1-64。

表7 input字段数据结构说明

参数

是否为必选

参数类型

说明

srcPath

String

数据源路径。例如,"/data/input/"|"obs:// bucket-name/sub-path"|"sfs: //share-id/sub-path"|"evs: //volume-id/sub-path"。

取值范围:ASCII可显示字符,且长度为1-256个字符。

destPath

String

目的端路径,为本地目录。例如,"/data/input/"。

取值范围:ASCII可显示字符,且长度为1-256个字符。

表8 output字段数据结构说明

参数

是否为必选

参数类型

说明

srcPath

String

数据源路径,为本地目录,"/data/output/"。

取值范围:ASCII可显示字符,且长度为1-256个字符。

destPath

String

输出路径。例如,"/data/output/"|"obs:// bucket-name/sub-path"|"sfs: //share-id/sub-path"|"evs: //volume-id/sub-path"。

取值范围:ASCII可显示字符,且长度为1-256个字符。

表9 logRedirectPath字段数据结构说明

参数

是否为必选

参数类型

说明

stderrRedirectPath

String

标准错误日志的OBS路径,规定使用用户自己的OBS。

默认值为空。

取值范围:ASCII可显示字符,且长度为0-256个字符。

stdoutRedirectPath

String

标准输出日志的OBS路径,规定使用用户自己的OBS。

默认值为空。

取值范围:ASCII可显示字符,且长度为0-256个字符。

表10 docker字段数据结构说明

参数

是否为必选

参数类型

说明

server

String

镜像仓库地址,如果是华为容器镜像服务,可不填此参数。

image

String

docker镜像描述。格式为:[namespace][repo]:[tag]。

表11 resourceAffinity字段数据结构说明

参数

是否为必选

参数类型

说明

poolId

String

亲和的计算资源池Id。

表12 network字段数据结构说明

参数

是否为必选

参数类型

说明

elasticAddressNum

Integer

需要的访问接入点个数。

取值范围:1-3。

默认值为1。

internalAddressNum

Integer

需要的内网访问接入点个数,默认值为1。

取值范围:1-3。

listenedPort

Integer

任务内需要监听的端口。

取值范围:1024-65535,且不可设置为6666。

表13 notification字段数据结构说明

参数

是否为必选

参数类型

说明

topicName

String

主题名。

取值范围:1-255。

只能包含大写和小写ASCII字母,数字,下划线和连字符。

events

String

任务事件。包括:onTaskStarting、 OnTaskRunning、OnTaskFailed、OnTaskSucceeded。

返回值说明

正常响应时接口返回为void。添加失败后,抛出异常:表1 apiException参数说明

代码示例

如下代码为添加名称为taskA,副本数为2的任务到job-001的示例:

try {
     String jobId = "job-001";
     // 定义任务taskA
     TaskDefinition taskDefA = new TaskDefinition();
     taskDefA.setTaskNamePrefix("taskA")
             .setCmd("env && sleep 3600")
             .setDocker(new TaskDocker("swr-server", "image"));
     TaskAddParameter taskA = new TaskAddParameter();
     taskA.setTaskDefinition(taskDefA)
             .setReplicas(1);
     batchApi.addTask(jobId, taskA);
 } catch (ApiException e) {
     e.printStackTrace();
 }
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区