Pipeline 使用教程
目录
- 在 CodeLab 中使用 Pipeline
1.1 新建项目
1.2 创建 pipeline 文件
1.3 构建 pipeline
1.4 调试 pipeline
1.5 运行 pipeline
1.6 pipeline任务流程的可视化 - 命令行方式使用 pipeline
2.1 命令行方式使用 pipeline 的场景
2.2 pipeline 命令行结构
2.3 在命令行中发起 pipeline 单次任务
2.4 在命令行中发起 pipeline 周期任务
2.5 pipeline 环境清理
2.6 pipeline任务流程的可视化
在 CodeLab 中使用 Pipeline
新建项目
新建项目时,NoteBook 版本选择 BML CodeLab ,新建项目后启动并进入NoteBook环境
创建 pipeline 文件
构建pipeline前,需首先创建pipeline类型的文件(.ppl文件);通过以下三种方式可创建pipeline文件:
(一)新建文件方式创建,点击“文件-新建-pipeline文件”,即可创建并进入到pipeline编辑文件;
(二)文本文件后缀修改方式,将文本文件的后缀修改为“.ppl”即可创建为pipeline编辑文件,如下图所示:
(三)CodeLab启动页,点击Pipeline应用入口即新建pipeline文件:
构建 pipeline
在创建好的.ppl文件中,通过SDK构建 Pipeline,主要有以下两个概念:
- Op: 构建的最小运行单元,可支持函数(FuncOp)、脚本(ScriptOp)和镜像粒度;
- Pipeline:由op组成,编排机器学习流程;
下面是一个简单的 pipeline 示例:
from pipeline.dsl import ScriptOp, FuncOp, pipeline
from pipeline.dsl import OutputResource
from pipeline.interface import Run
# 函数级OP
@FuncOp()
def prepare(data):
""" prepare """
print("HelloPipeline is preparing...")
with open(data, 'w') as fp:
fp.write('Hi\n')
# 函数级OP
@FuncOp()
def end():
""" down """
print("HelloPipeline is all done")
# 编排Pipeline
@pipeline(name="hello_example")
def HelloPipeline():
""" Hello Pipeline Example """
pre_op = prepare(data=OutputResource())
say_op = ScriptOp(name="hello-ppl", command=["echo"], arguments=[
"HelloPipeline say: ", pre_op.outputs['data']])
end_op = end()
end_op.after(say_op)
if __name__ == '__main__':
Run().create(HelloPipeline)
pipeline 编排后支持任务流程的可视化展示:pipeline 可视化展示
pipeline 更多构建详情可查看:垃圾邮件识别、林业病虫害防治AI昆虫识别
调试 pipeline
1) 发起调试
在完成了对 pipeline 的构建和编排后,我们就可以先通过调试 pipeline 的代码验证流程是否能够跑通,
调试过程中,pipeline的运行日志会打印在页面下方控制台窗口中。
如下图所示,可通过点击调试按钮, 发起本地调试任务:
发起调试后,日志内容将会被展示,提示用户任务发起成功,且一个时间点最多只能有一个op在运行(即使多个pipeline同时处于调试运行状态,在同一时间点也只能有一个op在运行)
op运行时,日志中会追加显示以下内容:
-提示op开始运行;
-显示当前运行命令;
-若定义了outputs参数(输出资源),则在op逻辑运行结束后显示输出资源的存放路径;
-提示op运行结束
注意:调试任务输出 artifact 不会上传到 artifact 仓库
注意:调试运行期间,用户可以修改保存ppl文件,但是修改后的内容不会更新到当前运行的调试任务中。
2) 停止调试
发起调试后,调试按钮会变成停止调试的样式,点击该按钮,即可停止当前调试运行:
3)调试运行成功
pipeline内所有节点运行结束后,将会提示pipeline运行成功。
如再次点击调试按钮,pipeline将再次从头运行,且此前产生的调试运行日志将被清除:
4)调试运行失败
若节点运行错误,则会展示异常信息,并提示节点运行失败,pipeline运行失败。用户可以修改代码逻辑或ppl文件内容,并重新发起本地调试任务。
运行 pipeline
调试通过的pipeline,可发起后台运行任务,并可查看相关运行记录及详情。
1)发起运行
点击pipeline文件上方运行按钮,在弹出的配置项弹窗中填写相关配置,即可发起后台运行任务。其中pipeline参数项基于用户代码生成,与编排内容中定义的 pipeline 参数项一致,且用户在发起运行阶段可修改参数值。
pipeline运行支持单次运行、周期运行两种方式;针对周期运行,用户可用crontab表达式配置运行周期。
2)运行记录
点击CodeLab左侧功能区Pipeline按钮,即可查看所有历史运行记录:
3)运行详情
运行记录列表中既包含单次运行,也包含周期运行。
- 【单次运行】
对于单次运行,点击运行列表中操作-详情,即可查看pipeline运行详情,包含节点级关键信息、日志展示:
- 【周期运行】
对于周期运行,点击运行列表中操作-详情,可展示周期性的多次运行记录信息;
点击某运行记录下的详情,可查看任一次运行的详情信息:
pipeline 任务流程的可视化
点击文件上方菜单中的可视化按钮,即可将任务流程渲染为可视化图形:
1)节点关键配置查看
将鼠标悬停在可视化节点上,可以查看该节点对应的关键参数配置,如命令、输入参数、输出参数等:
2)可视化调整
可视化窗口宽度及渲染图形的位置,可鼠标拖动调整;可视化图形也可进行缩放调节,如下所示:
2)刷新渲染结果
如在可视化过程中,对代码进行编辑修改,可对图形进行刷新展示:
命令行方式使用 pipeline
命令行方式使用 pipeline 的场景
Pipeline除了提供web界面外,还提供了命令行入口,方便用户在在 CodeLab 开发环境内通过shell直接操作 pipeline 相关功能,以及集成到 shell 脚本中使用。
pipeline 命令行结构
当前pipeline命令行采取三级命令的形式:
- 第一级: pipeline 命令的执行入口,即ppl
- 第二级: 操作的类别名称,当前支持三种二级命令:run(单次任务), job(周期任务), env(环境清理)
- 第三级: 表示具体的操作命令
pipeline命令行所有命令如下:
第一级 | 第二级 | 第三级 | 功能 | 备注 |
---|---|---|---|---|
ppl | run | create | 创建一个 run | |
ppl | run | get | 获取 run 的 状态,artifact 等信息 | |
ppl | run | list | 查询 满足条件的 run | |
ppl | run | stop | 终止一个 run | |
ppl | run | delete | 删除一个 run | |
ppl | run | log | 查看 run 的日志 | |
ppl | run | get-debug | 查看debug 任务的信息 | |
ppl | job | create | 创建一个job | |
ppl | job | get | 获取job 的详情信息 | |
ppl | job | list | 根据条件获取 job 的列表信息 | |
ppl | job | stop | 终止一个 job | |
ppl | job | delete | 删除一个 job | |
ppl | env | stop | 终止所有的 job 和run | |
ppl | env | clean | 清理 pipeline 的运行环境 |
下面,我们分别描述[单次任务],[周期任务],[环境清理]三类二级操作命令的使用方式。
在命令行中发起 pipeline 单次任务
1、pipeline 文件编写
Pipeline 任务运行前,先要编写好Pipeline定义文件。具体细节,可以参考如上在 CodeLab 中构建 pipeline 文件
2、发起单次任务
详细参数:
参数项 | 短选项 | 类型 | 是否必须 | 含义 | 默认值 | 示例 |
---|---|---|---|---|---|---|
pipeline-path | str | Y | 定义 pipeline 的文件路径 | 无 | ppl run create “/home/work/exp.ppl” | |
--param | -p | multiple | N | pipeline 级别的运行参数 | 无 | ppl run create “/home/work/exp.ppl” -p a='123' -p b='456' |
--name | -n | str | N | 任务名,运行任务名。若未传参,则会自动生成 | 根据用户在ppl文件中定义的ppl名称 | ppl run create “/home/work/exp.ppl” -n example |
--run-type | -t | str | N | local:表示为本地运行任务。cloud(暂未支持): 表示为云端运行任务。 | local | ppl run create “/home/work/exp.ppl” -t local |
--debug | flag | N | 是否 以调试模式运行任务。云端任务暂不支持调试任务, | False | ppl run create “/home/work/exp.ppl” --debug | |
--desc | -d | str | N | run 的 描述信息 | ""(空字符串) | ppl run create “/home/work/exp.ppl” -d "just for test" |
--show-log | -s | flag | N | 是否将日志打到标准输出流,注:创建云端任务传递此参数不生效。 | False | ppl run create “/home/work/exp.ppl” --show-log |
命令返回
结果为字典形式。字段如下:
字段名 | 字段含义 | 示例 |
---|---|---|
msg | 错误信息 | "success" |
code | 错误码 | 0 |
data | 返回内容 |
data内容为json格式,各字段解析如下:
字段名 | 字段含义 | 示例 |
---|---|---|
runid | 单次任务id | 5 |
name | 单次任务名称 | name_of_ppl_run |
desc | 单次任务描述信息 | |
create_time | 周期任务创建时间 | |
update_time | 周期任务状态的最近一次更新时间 | |
detail_path | 云端任务详情页链接,只有单次云端任务才有该字段 |
使用示例:
- 发起单次运行,指定部分ppl参数,ppl单次任务名,单次任务描述等
- 发起本地任务,并且让日志实时展示出来
3、查看任务详情
详细参数如下:
参数项 | 类型 | 是否必须 | 含义 | 默认值 | 示例 |
---|---|---|---|---|---|
runid | str | Y | 单次任务id | 无 | ppl run get "123" |
命令返回
命令返回结果为字典形式。字段如下:
字段名 | 字段含义 | 示例 |
---|---|---|
msg | 错误信息 | "success" |
code | 错误码 | 0 |
data | 返回内容 |
data内容为json格式,各字段解析如下:
字段名 | 字段含义 | 示例 |
---|---|---|
runid | 单次任务id | 5 |
name | 单次任务名称 | name_of_ppl_run |
jobid | 如果这个单次任务由周期任务生成,则详情中会返回对应的周期任务id;否则该字段为None | None |
job_type | ‘instant’表示用户发起的单次运行,'crontab'表示由周期任务发起的单次任务 | instant |
run_type | local为本地运行,cloud为云端任务 | local |
status | 单次任务状态,当前有 Succeeded、Running、Failed、Terminating、Terminated、Waiting六种 | Succeeded |
param | 发起任务时传入的参数 | |
desc | 单次任务描述信息 | |
pipeline_path | 发起任务所使用的pipeline文件路径 | |
log_path | 单次任务的日志路径,只有run_type为local时,才会返回该字段 | |
detail_path | 云端任务详情页链接,只有run_type为cloud时,才会返回该字段 | |
create_time | 周期任务创建时间 | |
update_time | 周期任务状态的最近一次更新时间 | |
pipeline_dict | 用户定义的pipeline,经过编译后生成的描述信息,主要用于调度 | |
pipeline_info | 单次任务中,各个节点的运行信息 | 参考下面pipeline_info详情 |
data内容为json格式,每个key为节点的stepid。对于云端任务,如果该节点没有运行,则没有该节点的信息。每个节点对应包含的字段解析如下:
字段名 | 字段含义 | 示例 |
---|---|---|
status | 节点运行状态,有 Succeeded、Running、Pending、Failed、Skipped、Upstream_failed 六种 | |
jobid | 如果该节点为 JobClientOp,且为云端任务,才会有该字段,表示该节点发起的集群任务的id | |
track_url | 如果该节点为JobClientOp,且为云端任务,才会有该字段,表示该节点发起的集群任务的详情页面的链接 | |
log_path | 节点的日志路径,只有本地节点,而且运行中,才会有该字段 | |
artifacts | 节点输出artifact 的名字 与其存储路径的映射关系 |
使用示例:
注意:
- 任务中查询结果中,有 og_path 字段,表示本地任务日志路径
- pipeline_dict 字段为 kfp 兼容的 pipeline 描述格式,内容较长,但不包含运行时信息。运行时信息通过pipeline_info 查看
4、查看任务列表
详细参数如下:
参数项 | 短选项 | 类型 | 是否必须 | 含义 | 默认值 | 示例 |
---|---|---|---|---|---|---|
--run-type | -t | str | N | local:表示为本地运行任务。cloud(暂未支持): 表示为云端运行任务。如果需要查询多种任务类型,则类型之间以逗号隔开,如“local,cloud”。 如果不传入或传入None, 则同时查询云端任务和本地任务 | local | ppl run list -t local |
--jobid | str | N | 周期任务id, 表示查看周期任务发起的运行记录列表。为None 表示不根据该参数进行筛选。若jobid不为None,则job_type字段只能为crontab | None | ppl run list --jobid 'job-1234' | |
--pipeline-path | str | N | pipeline 的文件路径。为None 表示不根据该参数进行筛选 | None | ppl run list --pipeline_path "/home/debug_pipeline/test.ppl" | |
--job-type | str | N | run 的发起方式,'instant' 为单次运行,'crontab' 为周期调度发起, 为 None 时表示不使用该字段对 run 做过滤 | None | ppl run list –job-type "crontab" | |
--status | -s | str | N | 任务的状态,由Succeeded、Running、Terminating、Terminated、Failed等状态列组合生成字符串, 多个状态之间以 ','分隔开。为None 表示不根据该参数进行筛选 | None | ppl run list -s Running |
--page-size | int | N | 分页大小, 表示返回的 run 的最大数量,当值为 -1 时, 表示无穷大, 默认为 10 | 10 | ppl run list --page-size 10 --page-num 1 | |
--page-num | int | N | 分页偏移量, 表示返回第几页的 记录,需要 >= 1 | 1 | ||
--start-time | str | N | 将会列出 创建时间 大于 start_time 的 所有的 run。当前支持格式为YYYY-MM-DD hh:mm:ss,为None 表示不根据该参数进行 筛选。 | None | ppl run list --start-time '2021-04-19 10:10:10' | |
--end-time | str | N | 将会列出 创建时间 小于 end_time 的 所有的 run。当前支持格式为YYYY-MM-DD hh:mm:ss, 为None 表示不根据该参数进行 筛选。 | None | ppl run list --end-time '2021-04-20 10:10:10' | |
--name | -n | str | N | run 的名字(进行模糊匹配), 为 None 时表示不根据此字段做筛选 | None | ppl run list --name "hahahaha" |
命令返回
命令返回结果为字典形式。字段如下:
字段名 | 字段含义 | 示例 |
---|---|---|
msg | 错误信息 | "success" |
code | 错误码 | 0 |
data | 返回内容 |
data内容为json格式,各字段解析如下:
字段名 | 字段含义 | 示例 |
---|---|---|
page_num | 返回结果的当前页面值 | 5 |
total_num | 满足查询条件的单次任务总数 | 100 |
total_pages | 满足查询条件的单次任务的总页数 | 10 |
jobs | 单次任务详情列表,list格式,list中每个元素为一个json,内容可参考下面runs字段详解 |
runs中每个元素内容为json格式,各字段解析如下:
字段名 | 字段含义 | 示例 |
---|---|---|
runid | 单次任务id | 5 |
name | 单次任务名称 | name_of_ppl_run |
jobid | 如果这个单次任务由周期任务生成,则详情中会返回对应的周期任务id;否则该字段为None | None |
job_type | ‘instant’表示用户发起的单次运行,'crontab'表示由周期任务发起的单次任务 | instant |
run_type | local为本地运行,cloud为云端任务 | local |
status | 单次任务状态,当前有 Succeeded、Running、Failed、Terminating、Terminated、Waiting六种 | Succeeded |
param | 发起任务时传入的参数 | |
desc | 单次任务描述信息 | |
pipeline_path | 发起任务所使用的pipeline文件路径 | |
create_time | 周期任务创建时间 | |
update_time | 周期任务状态的最近一次更新时间 |
使用示例
- 指定从2021-04-19 10:10:10开始,到2021-12-01 10:10:10为止,查询所有通过/home/work/mnt/project/abcde/4_node.ppl这个pipeline文件发起的任务。并且指定每次查询最多返回8条内容
如下图所示,总共发起了4个任务
- 查询status为 Succeeded 或 Terminated 的任务
如下图所示,先查询status为Succeeded 或 Terminated的任务列表,共返回两个任务;随后筛选其中的任务,只剩下runid=3的一个任务
5、终止单次任务
详细参数如下:
参数项 | 类型 | 是否必须 | 含义 | 默认值 | 示例 |
---|---|---|---|---|---|
runid | str | Y | 单次任务id | 无 | ppl run stop "123" |
命令返回
命令返回结果为字典形式。字段如下:
字段名 | 字段含义 | 示例 |
---|---|---|
msg | 错误信息 | "success" |
code | 错误码 | 0 |
使用示例:
如下图所示,先创建一个任务,然后停止该任务,可通过list接口看到,该任务已被停止
6、删除单次任务
详细参数如下:
参数项 | 类型 | 是否必须 | 含义 | 默认值 | 示例 |
---|---|---|---|---|---|
runid | str | Y | 单次任务id | 无 | ppl run delete "123" |
命令返回
命令返回结果为字典形式。字段如下:
字段名 | 字段含义 | 示例 |
---|---|---|
msg | 错误信息 | "success" |
code | 错误码 | 0 |
使用示例:
如下图所示,先创建一个任务,然后删除该任务,可通过get接口看到,该任务已被删除,无法查询
7、查看单次任务日志
详细参数如下:
参数项 | 短选项 | 类型 | 是否必须 | 含义 | 默认值 | 示例 |
---|---|---|---|---|---|---|
runid | str | Y | 单次任务id | 无 | ppl run log "123" | |
--stepid | -s | str | N | 单次任务中某个step的唯一标示符,如果没有传递该参数(或者为None),返回单次任务的整体日志,否则返回指定step的日志 | None | ppl run log ppl1 -s step1 |
--offset | -o | int | N | 日志文件的行号。当offset不传时,默认为0(从第0行开始) | 0 | ppl run log ppl1 -o 10 |
--limit | -l | int | N | 请求的日志内容的行数,为0时不返回任何日志内容,为 -1 时返回所有日志内容 | -1 | ppl run log ppl1 -o 10 -l 10 |
命令返回
命令返回结果为字典形式。字段如下:
字段名 | 字段含义 | 示例 |
---|---|---|
msg | 错误信息 | "success" |
code | 错误码 | 0 |
data | 返回内容 |
data内容为json格式,各字段解析如下:
字段名 | 字段含义 | 示例 |
---|---|---|
log | 日志内容(limit字段不为0时才有该字段) | 5 |
length | 返回的日志行数。当从offset到日志内容末端的总行数 < limit时,length值可能小于limit(limit字段不为0时才有该字段) | 10 |
log_path | 日志路径 |
使用示例:
如下图所示,先展示该任务的整体日志,再查看其中一个节点(save-msg)的日志,最后只展示该节点从第二行起,共5行日志
8、查看debug任务
详细参数如下:
参数项 | 类型 | 是否必须 | 含义 | 默认值 | 示例 |
---|---|---|---|---|---|
pipeline-path | str | Y | pipeline 的文件路径 | 无 | ppl run get-debug "/home/work/mnt" |
命令返回
命令返回结果为字典形式。字段如下:
字段名 | 字段含义 | 示例 |
---|---|---|
msg | 错误信息 | "success" |
code | 错误码 | 0 |
data | 返回内容 |
data内容为json格式,各字段解析如下:
字段名 | 字段含义 | 示例 |
---|---|---|
runid | 单次任务id | 5 |
name | 单次任务名称 | name_of_ppl_run |
status | 单次任务状态,当前有 Succeeded、Running、Failed、Terminating、Terminated、Waiting六种 | Succeeded |
param | 发起任务时传入的参数 | |
desc | 单次任务描述信息 | |
pipeline_path | 发起任务所使用的pipeline文件路径 | |
log_path | 单次任务的日志路径 | |
create_time | 周期任务创建时间 | |
update_time | 周期任务状态的最近一次更新时间 | |
pipeline_info | 单次任务中,各个节点的运行信息 | 参考下面pipeline_info详情 |
data内容为json格式,每个key为节点的stepid。对于云端任务,如果该节点没有运行,则没有该节点的信息。每个节点对应包含的字段解析如下:
字段名 | 字段含义 | 示例 |
---|---|---|
status | 节点运行状态,有 Succeeded、Running、Pending、Failed、Skipped、Upstream_failed 六种 | |
jobid | 如果该节点为 JobClientOp,且为云端任务,才会有该字段,表示该节点发起的集群任务的id | |
track_url | 如果该节点为JobClientOp,且为云端任务,才会有该字段,表示该节点发起的集群任务的详情页面的链接 | |
log_path | 节点的日志路径,只有本地节点,而且运行中,才会有该字段 | |
artifacts | 节点输出artifact 的名字 与其存储路径的映射关系 |
使用示例:
如下图所示,该接口与ppl run get类似,不过对于debug任务,还可以通过ppl文件路径的形式查询调试任务
一个ppl文件,在同一时刻只能运行一个调试任务
在命令行中发起 pipeline 周期任务
1、发起周期任务
详细参数:
参数项 | 短选项 | 类型 | 是否必须 | 含义 | 默认值 | 示例 |
---|---|---|---|---|---|---|
pipeline-path | str | Y | 定义 pipeline 的文件路径 | 无 | ||
--crontab | -c | str | Y | 周期调度频率 | 无 | |
--param | -p | multiple | N | pipeline 级别的运行参数 | 无 | |
--name | -n | str | N | 任务名,运行任务名。若未传参,则会自动生成 | 根据用户在ppl文件中定义的ppl名称 | |
--run-type | -t | str | N | local:表示为本地运行任务。cloud: 表示为云端运行任务。 | local | |
--desc | -d | str | N | run 的 描述信息 | ""(空字符串) |
命令返回
结果信息输出到stdin中,格式为json形式。字段如下:
参数项 | 参数含义 | 参数示例 |
---|---|---|
msg | 错误信息 | "success" |
code | 错误码 | 0 |
data | 返回内容 |
data内容为json格式,各字段解析如下:
字段名 | 字段含义 | 示例 |
---|---|---|
jobid | 周期任务id | 5 |
使用示例
除了crontab参数以外,周期任务的发起参数与单次任务一致,因此只演示最基础的周期任务发起场景。
2、查看周期任务详情
详细参数:
参数项 | 类型 | 是否必须 | 含义 | 默认值 | 示例 |
---|---|---|---|---|---|
jobid | str | Y | 周期任务id | 无 | ppl job get "job-123" |
命令返回
结果信息输出到stdin中,格式为json形式。字段如下:
参数项 | 参数含义 | 参数示例 |
---|---|---|
msg | 错误信息 | "success" |
code | 错误码 | 0 |
data | 返回内容 |
data内容为json格式,各字段解析如下:
字段名 | 字段含义 | 示例 |
---|---|---|
jobid | 周期任务id | 5 |
status | 周期任务状态,当前有 Succeeded、Running、Failed、Terminating、Terminated 五种 | Succeeded |
run_type | 'local' 为本地模式,‘cloud’ 为云端模式 | cloud |
job_type | 对于周期任务,该字段一定为crontab | crontab |
name | 周期任务名称 | ppl_job_name |
pipeline_path | 发起周期任务的pipeline文件路径 | /path/to/ppl |
crontab | crontab 字符串 | |
param | pipeline 级别的参数配置 | |
desc | 周期任务的描述信息 | "desc for pplrun" |
create_time | 周期任务创建时间 | 2021-07-02 11:11:11 |
update_time | 周期任务状态的最近一次更新时间 | 2021-07-02 11:11:11 |
使用示例
该命令只能获取周期任务的概要信息,如果想要查看该周期任务发起过的单次任务列表,可以查看[单次任务]中的查询单次任务列表命令
3、查询周期任务列表
详细参数:
参数项 | 短选项 | 类型 | 是否必须 | 含义 | 默认值 | 示例 |
---|---|---|---|---|---|---|
--pipeline-path | str | N | pipeline 的文件路径。为None 表示不根据该参数进行筛选 | None | ||
--status | -s | str | N | 任务的状态,由Succeeded、Running、Terminating、Terminated、Failed等状态列组合生成字符串, 多个状态之间以 ','分隔开。为None 表示不根据该参数进行筛选 | None | |
--page-size | int | N | 分页大小, 表示返回的周期任务的最大数量,当值为 -1 时, 表示无穷大, 默认为 10 | 10 | ||
--page-num | int | N | 分页偏移量, 表示返回第几页的记录,需要 >= 1 | 1 | ||
--start-time | str | N | 将会列出 创建时间 大于 start_time 的 所有的 job。当前支持格式为YYYY-MM-DD hh:mm:ss,为None 表示不根据该参数进行筛选。 | None | ||
--end-time | str | N | 将会列出 创建时间 小于 end_time 的 所有的job。当前支持格式为YYYY-MM-DD hh:mm:ss, 为None 表示不根据该参数进行筛选。 | None | ||
--name | -n | str | N | run 的名字(进行模糊匹配), 为 None 时表示不根据此字段做筛选 | None |
命令返回
结果信息输出到stdin中,格式为json形式。字段如下:
参数项 | 参数含义 | 参数示例 |
---|---|---|
msg | 错误信息 | "success" |
code | 错误码 | 0 |
data | 返回内容 |
data内容为json格式,各字段解析如下:
字段名 | 字段含义 | 示例 |
---|---|---|
page_num | 返回结果的当前页面值 | 5 |
total_num | 满足查询条件的周期任务总数 | 100 |
total_pages | 满足查询条件的周期任务的总页数 | 10 |
jobs | 周期任务详情列表,list格式,list中每个元素为一个json,内容与周期任务详情内容一致 |
使用示例
周期任务列表参数与单次任务列表一致,因此只演示最基础的周期任务发起场景。
4、终止周期任务
终止周期任务,会将周期任务,以及该周期任务产生的运行中的周期任务全部停止
详细参数:
参数项 | 类型 | 是否必须 | 含义 | 默认值 | 示例 |
---|---|---|---|---|---|
jobid | str | Y | 周期任务id | 无 | ppl job stop "job-123" |
命令返回
结果信息输出到stdin中,格式为json形式。字段如下:
参数项 | 参数含义 | 参数示例 |
---|---|---|
msg | 错误信息 | "success" |
code | 错误码 | 0 |
使用示例
5、删除周期任务
删除周期任务,会将周期任务,以及该周期任务产生的运行中的周期任务全部停止,然后将周期任务以及该周期任务产生的所有单次任务全部删除
详细参数:
参数项 | 类型 | 是否必须 | 含义 | 默认值 | 示例 |
---|---|---|---|---|---|
jobid | str | Y | 周期任务id | 无 | ppl job stop "job-123" |
命令返回
结果信息输出到stdin中,格式为json形式。字段如下:
参数项 | 参数含义 | 参数示例 |
---|---|---|
msg | 错误信息 | "success" |
code | 错误码 | 0 |
使用示例
pipeline 环境清理
该章节详细介绍 pipeline 命令行中,环境清理相关的各个命令,包括命令参数,返回结果,以及常见的使用示例。
1、停止所有任务
该接口能够停止所有任务,包括周期任务,单次任务。
详细参数:
该接口不需要参数
命令返回:
结果为字典形式。字段如下:
参数项 | 参数含义 | 参数示例 |
---|---|---|
msg | 错误信息 | "success" |
code | 错误码 | 0 |
data | 返回内容 |
data内容为json格式,各字段解析如下:
字段名 | 字段含义 | 示例 |
---|---|---|
jobids | list格式,被终止的周期任务id | 5 |
runids | list格式,被终止的pipeline单次任务周期任务id | 5 |
使用示例
2、清理环境
详细参数:
参数项 | 类型 | 是否必须 | 含义 | 默认值 | 示例 |
---|---|---|---|---|---|
mode | str | Y | 环境清理的模式, 支持 ‘restores’ 和 'runtime' 两种 | 无 | ppl env clean runtime |
mode参数详解:
- restores: 恢复初始设置,会终止所有周期任务和单次任务,并清空所有的运行环境(包括但不限于数据库记录,每个节点的运行代码,日志,和 aritfact)这是个毁天灭地的命令,慎重!
- runtime: 删除所有 pipeline 任务(非debug模式) 运行时的代码备份,但是pipeline任务的日志,artifact 和数据库记录等信息会保留(即不影响查询,但是ppl任务运行环境没有保留)。pipeline占用空间较大时,可以使用该命令清理部分空间
命令返回:
参数项 | 参数含义 | 参数示例 |
---|---|---|
msg | 错误信息 | "success" |
code | 错误码 | 0 |
使用示例
- 清理节点运行代码备份目录(主要为了清理部分磁盘空间)
- 恢复pipeline初始化设置,清理所有相关内容(慎重)