更新时间:2023-11-02 GMT+08:00
分享

流程配置文件说明

EIHealth中的分析流程包含分析过程中所需应用的执行信息和数据的输入、输出等参数定义。分析流程至少由一个应用组成,在多个应用构成的流程中,一个应用的输出作为另一个应用的输入,流程中的各个应用由其前后顺序形成完整的计算工作流。

在EIHealth平台,创建流程通过拖拽应用的方式完成。在命令行工具中,该过程以配置文件的形式给出,对于由多个应用搭建出来的流程,命令行工具中通过指定不同应用间的输入输出关系,完成应用的连接。您可以基于获取到的模板使用命令行工具创建流程,创建好的流程将同步显示到EIHealth平台。

获取流程模板

使用health get workflow -s命令获取创建流程的模板,复制模板并保存到本地,您可以保存成.yaml或txt文件,保存为txt文件时,其内容需为yaml格式。

在本地编写模板,模板填写好后,再使用命令行工具上传模板,创建流程。示例流程由app1和app2两个应用构成,通过指定输入、输出关系链接两个应用。

# 详情说明可参考API文档中流程管理- 创建流程

workflow:
  name: 'demo-workflow'                           # 流程名称,取值范围[1,56],以大小写字母开头,允许出现中划线(-)、下划线(_)、大小写字母和数字,且必须以大小写字母或数字结尾。更新流程时,流程名称不支持修改。
  version: '1.0.0'                                # 流程版本,取值范围[1,24],以小写字母或数字或大写字母开头,允许出现中划线,必须以大小写字母或数字结尾。更新流程时,流程版本不支持修改。
  summary: 'summary'                              # 流程简述 取值范围[0,128]
  description: 'description'                      # 流程描述 取值范围[0,65535],后续支持markdown文本
  labels:                                         # 流程标签,取值范围[0,5],单个标签最大长度32字符,支持中文、字母、数字、空格、下划线和中划线,且不能以空格开头或者结尾。
  - labelA
  - labelB
  timeout: 1440                                   # 流程超时时间,取值范围[1,144000],单位分钟,默认1440
  output_dir:                                     # 流程的当前工作目录,默认为根目录,用户可显示指定,输出路径必须以斜杠(/)开头且不能以斜杠(/)结尾,不能包含两个以上相邻的斜杠(/),不能包含以下特殊字符:\ : ; * ? < " > | 。其中单个文件夹名称不能以中划线(-)开头,不能以英文句号(.)或斜杠(/)或空格开头或结尾
  tasks:                                          # 流程中子任务的描述信息,子任务数量取值范围:[1,128]
    - task_name: app1-1                           # 子任务实际名称,取值范围[1,32],只能以大小写字母开头,由大小写字母、数字、中划线(-)、下划线(_)组成,以大小写字母或数字结尾。
      app_id: 'demo-app::1.0.0::gwj-test-01'      # 应用id,取值范围[1,135],正则先不能有中文,两种格式。特殊id,采用{app_name}::{app_version}::{src_project_name}格式,用于手动创建场景;
                                                  # 其他场景,app_id为系统分配的唯一标识
      display_name: '步骤1'                       # 流程的子任务展示名称,最大长度64
      resources:                                  # 子任务的资源配额
        cpu: '0.1C'                               # cpu申请使用量,取值范围[0.1-128],单位C,支持一位小数。对于应用,不填默认1C;对于流程和作业,不填默认使用前一级的配置,填值会覆盖更新。覆盖关系:作业->流程->应用
        memory: '0.1G'                            # 内存申请使用量,取值范围[0.1-3072],单位G,支持一位小数。对于应用,不填默认1G;对于流程和作业,不填默认使用前一级的配置,填值会覆盖更新。覆盖关系:作业->流程->应用
        gpu_type: ''                              # gpu架构类型,取值范围 ' '|GPU|Snt9|D310。对于流程和作业,不填默认使用前一级的配置,填值会覆盖更新。覆盖关系:作业->流程->应用
        gpu: '0'                                  # gpu申请使用量,取值范围[0-16],仅支持整数,Snt9有特殊约束,申请数量需要是0,1,2,4,8。对于应用,不填默认0;对于流程和作业,不填默认使用前一级的配置,填值会覆盖更新。
                                                  # 覆盖关系:作业->流程->应用
      output_dir:                                 # 子任务的输出存放路径,用户可显示指定,输出路径必须以斜杠(/)开头且不能以斜杠(/)结尾,不能包含两个以上相邻的斜杠(/),不能包含以下特殊字符:\ : ; * ? < " > | 。其中单个文件夹名称不能以中划线(-)开头,不能以英文句号(.)或斜杠(/)或空格开头或结尾
      inputs:
       - name: 'input-dir'                        # 子任务的参数名称,长度为[1,32],以小写字母开头,允许出现中划线(-)、小写字母和数字,且必须以小写字母或数字结尾。需要和已有应用的参数名称一致。
         values:                                  # 子任务的参数数值,根据参数类型进行合法性校验
         - 'gwj-test-01:/test'
    - task_name: app1-2
      app_id: 'demo-app::1.0.0'
      display_name: '步骤2'
      resources:
        cpu: '0.1C'
        memory: '0.1G'
        gpu_type: ''
        gpu: '0'
      output_dir:
      inputs:
       - name: 'input-dir'
         values:                                  # 子任务的参数数值,格式为${task_name.output_name},表示连线关系,即app1-2需要app1-1成功执行后才会运行
         - '${app1-1.output-dir}'

分享:

    相关文档

    相关产品