启动作业
通过使用create或 submit命令引用本地的配置文件,启动分析作业。
命令结构
health create job [flags] # create和submit作用相同 health submit job [flags]
参数 |
简写 |
是否必选 |
说明 |
---|---|---|---|
--yaml |
-y |
是 |
本地的作业模板路径。获取作业模板方法请参见作业配置文件说明。 |
--workflow |
-w |
否 |
基于流程ID创建分析作业,可使用health get workflow workflow-name:version:srcproject命令查询流程ID,srcproject为源项目名称,可选。不指定srcproject时,默认为当前项目。 --yaml和--workflow命令不能同时存在。 |
--description |
-d |
否 |
作业的详细描述信息。 |
--input |
-i |
否 |
输入参数名称,该参数与流程中的输入参数对应,通过修改--input,修改输入数据。 选择时,input和input-file二选一。 作业运行时,每个应用称之为一个task,应用可以设置多个输入参数,一个输入参数可以设置多个输入值。 task间使用;;分隔,input的参数路径间使用;;分隔。 例如task1.input1=datapath1;;datapath2;;task1.input2=xxx;xxx;;task2.input1=xxx;;xxx |
--input-file |
-f |
否 |
输入参数对应的文件路径(本地路径),该参数与流程中的输入文件路径对应,通过修改input-file,修改输入数据。 选择时,input和input-file二选一。 格式为:{"task0": {"input-1": "datapath"}, "task1": {"inputs": "datapath"}}。 同时,输入参数可以设置多个参数值。例如: --input-file D:\data\data.txt # 本地文件中的内容需为json格式,示例如下。 # 同一个input参数,有多个参数值时,需使用;分隔。 { "task1":{ "data-01":"projectname:/test.txt", "data-02":"projectname:/test2.txt;projectname:/test3.txt" } } |
--output_dir |
-o |
否 |
输出路径(EIHealth平台数据路径)。可自定义。不指定时,按照“作业名称+UUID”格式自动生成存放输出结果的目录。输出路径只能以/开头,不能以/结尾。 |
--timeout |
-t |
否 |
超时时间。运行时间超过设置时间时,认为超时,默认1440分钟,最大可设置为144000分钟。 |
--priority |
-p |
否 |
优先级,[0,9],9代表最高,0代表最低,默认为0,优先级高的作业会被优先执行。 |
--name |
-n |
否 |
作业的名称。 通过流程ID(workflow id)启动作业时,必选。 |
--io-acc-id |
-c |
否 |
IO加速实例id,为空则不开启IO加速,设置相应加速包id将会开启加速。实例id可参考“系统设置命令>获取系统资源”章节获取。当id设置为:auto_schedule,则会自动调度加速包,当id设置为local_disk,则开启本地盘加速。 |
--nodeLabels |
-l |
否 |
用于让作业调度到设置了该标签的节点上。如果所有节点都不满足该标签,则调度失败。 标签数量取值范围[0,1]。单个标签最大长度为63字符,名称必须以health.开头。 |
--project |
无 |
否 |
指定项目名。未填写则使用配置文件中的项目名。 |
--io-acc-tasks |
-s |
否 |
设定任务的I/O加速类型 例如:`taskname1:EVS`;`taskname3:SFS` 不写的task默认不带加速类型 |
命令示例
本节以Windows为例介绍eihealth-toolkit的使用过程,Linux和macOS环境使用方法基本相同,可参考。
启动作业时,如果包含不存在的计算节点标签,回显类似下图,请先添加计算节点标签。
计算节点标签添加方法:在平台右上角单击用户名,选择“系统资源 > 计算资源”,在计算节点的操作列单击“更多 > 标签管理”,添加标签。上图示例中需要添加的标签名称为labelsss1。
- 使用本地已填写好的作业模板job.yaml运行分析作业。
health create job -y D:\job.yaml -d "详细描述" # 返回结果如下 submit job succeed! job id : a30f3afd-3f6d-11eb-868a-fa163e3ddba1
- 基于流程(workflow)创建分析作业。
health create job -w 550e8400-e29b-41d4-a716-446655440000 -t "120" -d "详细描述" -n "job-name" # 返回结果如下 submit job succeed! job id : a30f3afd-3f6d-11eb-868a-fa163e3ddba1
- 使用本地已填写好的作业模板job.yaml运行分析作业,并修改输入数据路径、描述。
health create job -y D:\job.yaml -i "D:\data\hg19.fa" -d "descript" # 返回结果如下 submit job succeed! job id : a30f3afd-3f6d-11eb-868a-fa163e3ddba1
- 使用本地已填写好的作业模板job.yaml运行分析作业,并修改输出路径、超时时间、优先级。
health create job -y D:\job.yaml -o "/bucket" -t 5 -p 9 # 返回结果如下 submit job succeed! job id : a30f3afd-3f6d-11eb-868a-fa163e3ddba1
- 使用本地已填写好的作业模板job.yaml运行分析作业,并增加子task加速类型。
health create job -y D:\job.yaml -s `task-3-two-cp:SFS`;`task-2-cp-dir:EVS` # 返回结果如下 submit job succeed! job id : a30f3afd-3f6d-11eb-868a-fa163e3ddba1