任务总体存储结构

在dolphinscheduler中创建的所有任务都保存在t_ds_process_definition 表中.

该数据库表结构如下表所示:

序号 字段 类型 描述
1 id int(11) 主键
2 name varchar(255) 流程定义名称
3 version int(11) 流程定义版本
4 release_state tinyint(4) 流程定义的发布状态:0 未上线 , 1已上线
5 project_id int(11) 项目id
6 user_id int(11) 流程定义所属用户id
7 process_definition_json longtext 流程定义JSON
8 description text 流程定义描述
9 global_params text 全局参数
10 flag tinyint(4) 流程是否可用:0 不可用,1 可用
11 locations text 节点坐标信息
12 connects text 节点连线信息
13 receivers text 收件人
14 receivers_cc text 抄送人
15 create_time datetime 创建时间
16 timeout int(11) 超时时间
17 tenant_id int(11) 租户id
18 update_time datetime 更新时间
19 modify_by varchar(36) 修改用户
20 resource_ids varchar(255) 资源ids

其中process_definition_json 字段为核心字段, 定义了 DAG 图中的任务信息.该数据以JSON 的方式进行存储.

公共的数据结构如下表. 序号 | 字段 | 类型 | 描述 ———— | ————-| ———— | ————- 1|globalParams|Array|全局参数 2|tasks|Array|流程中的任务集合 [ 各个类型的结构请参考如下章节] 3|tenantId|int|租户id 4|timeout|int|超时时间

数据示例:

  1. {
  2. "globalParams":[
  3. {
  4. "prop":"golbal_bizdate",
  5. "direct":"IN",
  6. "type":"VARCHAR",
  7. "value":"${system.biz.date}"
  8. }
  9. ],
  10. "tasks":Array[1],
  11. "tenantId":0,
  12. "timeout":0
  13. }

各任务类型存储结构详解

Shell节点

节点数据结构如下: 序号|参数名||类型|描述 |描述 ———— | ————-| ————-| ———— | ————- | ————- 1|id | |String| 任务编码| 2|type ||String |类型 |SHELL 3| name| |String|名称 | 4| params| |Object| 自定义参数 |Json 格式 5| |rawScript |String| Shell脚本 | 6| | localParams| Array|自定义参数|| 7| | resourceList| Array|资源文件|| 8|description | |String|描述 | | 9|runFlag | |String |运行标识| | 10|conditionResult | |Object|条件分支 | | 11| | successNode| Array|成功跳转节点| | 12| | failedNode|Array|失败跳转节点 | 13| dependence| |Object |任务依赖 |与params互斥 14|maxRetryTimes | |String|最大重试次数 | | 15|retryInterval | |String |重试间隔| | 16|timeout | |Object|超时控制 | | 17| taskInstancePriority| |String|任务优先级 | | 18|workerGroup | |String |Worker 分组| | 19|preTasks | |Array|前置任务 | |

节点数据样例:

  1. {
  2. "type":"SHELL",
  3. "id":"tasks-80760",
  4. "name":"Shell Task",
  5. "params":{
  6. "resourceList":[
  7. {
  8. "id":3,
  9. "name":"run.sh",
  10. "res":"run.sh"
  11. }
  12. ],
  13. "localParams":[
  14. ],
  15. "rawScript":"echo "This is a shell script""
  16. },
  17. "description":"",
  18. "runFlag":"NORMAL",
  19. "conditionResult":{
  20. "successNode":[
  21. ""
  22. ],
  23. "failedNode":[
  24. ""
  25. ]
  26. },
  27. "dependence":{
  28. },
  29. "maxRetryTimes":"0",
  30. "retryInterval":"1",
  31. "timeout":{
  32. "strategy":"",
  33. "interval":null,
  34. "enable":false
  35. },
  36. "taskInstancePriority":"MEDIUM",
  37. "workerGroup":"default",
  38. "preTasks":[
  39. ]
  40. }

SQL节点

通过 SQL对指定的数据源进行数据查询、更新操作.

节点数据结构如下: 序号|参数名||类型|描述 |描述 ———— | ————-| ————-| ———— | ————- | ————- 1|id | |String| 任务编码| 2|type ||String |类型 |SQL 3| name| |String|名称 | 4| params| |Object| 自定义参数 |Json 格式 5| |type |String | 数据库类型 6| |datasource |Int | 数据源id 7| |sql |String | 查询SQL语句 8| |udfs | String| udf函数|UDF函数id,以逗号分隔. 9| |sqlType | String| SQL节点类型 |0 查询 , 1 非查询 10| |title |String | 邮件标题 11| |receivers |String | 收件人 12| |receiversCc |String | 抄送人 13| |showType | String| 邮件显示类型|TABLE 表格 , ATTACHMENT附件 14| |connParams | String| 连接参数 15| |preStatements | Array| 前置SQL 16| | postStatements| Array|后置SQL|| 17| | localParams| Array|自定义参数|| 18|description | |String|描述 | | 19|runFlag | |String |运行标识| | 20|conditionResult | |Object|条件分支 | | 21| | successNode| Array|成功跳转节点| | 22| | failedNode|Array|失败跳转节点 | 23| dependence| |Object |任务依赖 |与params互斥 24|maxRetryTimes | |String|最大重试次数 | | 25|retryInterval | |String |重试间隔| | 26|timeout | |Object|超时控制 | | 27| taskInstancePriority| |String|任务优先级 | | 28|workerGroup | |String |Worker 分组| | 29|preTasks | |Array|前置任务 | |

节点数据样例:

  1. {
  2. "type":"SQL",
  3. "id":"tasks-95648",
  4. "name":"SqlTask-Query",
  5. "params":{
  6. "type":"MYSQL",
  7. "datasource":1,
  8. "sql":"select id , namge , age from emp where id = ${id}",
  9. "udfs":"",
  10. "sqlType":"0",
  11. "title":"xxxx@xxx.com",
  12. "receivers":"xxxx@xxx.com",
  13. "receiversCc":"",
  14. "showType":"TABLE",
  15. "localParams":[
  16. {
  17. "prop":"id",
  18. "direct":"IN",
  19. "type":"INTEGER",
  20. "value":"1"
  21. }
  22. ],
  23. "connParams":"",
  24. "preStatements":[
  25. "insert into emp ( id,name ) value (1,'Li' )"
  26. ],
  27. "postStatements":[
  28. ]
  29. },
  30. "description":"",
  31. "runFlag":"NORMAL",
  32. "conditionResult":{
  33. "successNode":[
  34. ""
  35. ],
  36. "failedNode":[
  37. ""
  38. ]
  39. },
  40. "dependence":{
  41. },
  42. "maxRetryTimes":"0",
  43. "retryInterval":"1",
  44. "timeout":{
  45. "strategy":"",
  46. "interval":null,
  47. "enable":false
  48. },
  49. "taskInstancePriority":"MEDIUM",
  50. "workerGroup":"default",
  51. "preTasks":[
  52. ]
  53. }

PROCEDURE[存储过程]节点

节点数据结构如下: 节点数据样例:

SPARK节点

节点数据结构如下:

序号 参数名 类型 描述 描述
1 id String 任务编码
2 type String 类型 SPARK
3 name String 名称
4 params Object 自定义参数 Json 格式
5 mainClass String 运行主类
6 mainArgs String 运行参数
7 others String 其他参数
8 mainJar Object 程序 jar 包
9 deployMode String 部署模式 local,client,cluster
10 driverCores String driver核数
11 driverMemory String driver 内存数
12 numExecutors String executor数量
13 executorMemory String executor内存
14 executorCores String executor核数
15 programType String 程序类型 JAVA,SCALA,PYTHON
16 sparkVersion String Spark 版本 SPARK1 , SPARK2
17 localParams Array 自定义参数
18 resourceList Array 资源文件
19 description String 描述
20 runFlag String 运行标识
21 conditionResult Object 条件分支
22 successNode Array 成功跳转节点
23 failedNode Array 失败跳转节点
24 dependence Object 任务依赖 与params互斥
25 maxRetryTimes String 最大重试次数
26 retryInterval String 重试间隔
27 timeout Object 超时控制
28 taskInstancePriority String 任务优先级
29 workerGroup String Worker 分组
30 preTasks Array 前置任务

节点数据样例:

  1. {
  2. "type":"SPARK",
  3. "id":"tasks-87430",
  4. "name":"SparkTask",
  5. "params":{
  6. "mainClass":"org.apache.spark.examples.SparkPi",
  7. "mainJar":{
  8. "id":4
  9. },
  10. "deployMode":"cluster",
  11. "resourceList":[
  12. {
  13. "id":3,
  14. "name":"run.sh",
  15. "res":"run.sh"
  16. }
  17. ],
  18. "localParams":[
  19. ],
  20. "driverCores":1,
  21. "driverMemory":"512M",
  22. "numExecutors":2,
  23. "executorMemory":"2G",
  24. "executorCores":2,
  25. "mainArgs":"10",
  26. "others":"",
  27. "programType":"SCALA",
  28. "sparkVersion":"SPARK2"
  29. },
  30. "description":"",
  31. "runFlag":"NORMAL",
  32. "conditionResult":{
  33. "successNode":[
  34. ""
  35. ],
  36. "failedNode":[
  37. ""
  38. ]
  39. },
  40. "dependence":{
  41. },
  42. "maxRetryTimes":"0",
  43. "retryInterval":"1",
  44. "timeout":{
  45. "strategy":"",
  46. "interval":null,
  47. "enable":false
  48. },
  49. "taskInstancePriority":"MEDIUM",
  50. "workerGroup":"default",
  51. "preTasks":[
  52. ]
  53. }

MapReduce(MR)节点

节点数据结构如下:

序号 参数名 类型 描述 描述
1 id String 任务编码
2 type String 类型 MR
3 name String 名称
4 params Object 自定义参数 Json 格式
5 mainClass String 运行主类
6 mainArgs String 运行参数
7 others String 其他参数
8 mainJar Object 程序 jar 包
9 programType String 程序类型 JAVA,PYTHON
10 localParams Array 自定义参数
11 resourceList Array 资源文件
12 description String 描述
13 runFlag String 运行标识
14 conditionResult Object 条件分支
15 successNode Array 成功跳转节点
16 failedNode Array 失败跳转节点
17 dependence Object 任务依赖 与params互斥
18 maxRetryTimes String 最大重试次数
19 retryInterval String 重试间隔
20 timeout Object 超时控制
21 taskInstancePriority String 任务优先级
22 workerGroup String Worker 分组
23 preTasks Array 前置任务

节点数据样例:

  1. {
  2. "type":"MR",
  3. "id":"tasks-28997",
  4. "name":"MRTask",
  5. "params":{
  6. "mainClass":"wordcount",
  7. "mainJar":{
  8. "id":5
  9. },
  10. "resourceList":[
  11. {
  12. "id":3,
  13. "name":"run.sh",
  14. "res":"run.sh"
  15. }
  16. ],
  17. "localParams":[
  18. ],
  19. "mainArgs":"/tmp/wordcount/input /tmp/wordcount/output/",
  20. "others":"",
  21. "programType":"JAVA"
  22. },
  23. "description":"",
  24. "runFlag":"NORMAL",
  25. "conditionResult":{
  26. "successNode":[
  27. ""
  28. ],
  29. "failedNode":[
  30. ""
  31. ]
  32. },
  33. "dependence":{
  34. },
  35. "maxRetryTimes":"0",
  36. "retryInterval":"1",
  37. "timeout":{
  38. "strategy":"",
  39. "interval":null,
  40. "enable":false
  41. },
  42. "taskInstancePriority":"MEDIUM",
  43. "workerGroup":"default",
  44. "preTasks":[
  45. ]
  46. }

Python节点

节点数据结构如下: 序号|参数名||类型|描述 |描述 ———— | ————-| ————-| ———— | ————- | ————- 1|id | |String| 任务编码| 2|type ||String |类型 |PYTHON 3| name| |String|名称 | 4| params| |Object| 自定义参数 |Json 格式 5| |rawScript |String| Python脚本 | 6| | localParams| Array|自定义参数|| 7| | resourceList| Array|资源文件|| 8|description | |String|描述 | | 9|runFlag | |String |运行标识| | 10|conditionResult | |Object|条件分支 | | 11| | successNode| Array|成功跳转节点| | 12| | failedNode|Array|失败跳转节点 | 13| dependence| |Object |任务依赖 |与params互斥 14|maxRetryTimes | |String|最大重试次数 | | 15|retryInterval | |String |重试间隔| | 16|timeout | |Object|超时控制 | | 17| taskInstancePriority| |String|任务优先级 | | 18|workerGroup | |String |Worker 分组| | 19|preTasks | |Array|前置任务 | |

节点数据样例:

  1. {
  2. "type":"PYTHON",
  3. "id":"tasks-5463",
  4. "name":"Python Task",
  5. "params":{
  6. "resourceList":[
  7. {
  8. "id":3,
  9. "name":"run.sh",
  10. "res":"run.sh"
  11. }
  12. ],
  13. "localParams":[
  14. ],
  15. "rawScript":"print("This is a python script")"
  16. },
  17. "description":"",
  18. "runFlag":"NORMAL",
  19. "conditionResult":{
  20. "successNode":[
  21. ""
  22. ],
  23. "failedNode":[
  24. ""
  25. ]
  26. },
  27. "dependence":{
  28. },
  29. "maxRetryTimes":"0",
  30. "retryInterval":"1",
  31. "timeout":{
  32. "strategy":"",
  33. "interval":null,
  34. "enable":false
  35. },
  36. "taskInstancePriority":"MEDIUM",
  37. "workerGroup":"default",
  38. "preTasks":[
  39. ]
  40. }

Flink节点

节点数据结构如下:

序号 参数名 类型 描述 描述
1 id String 任务编码
2 type String 类型 FLINK
3 name String 名称
4 params Object 自定义参数 Json 格式
5 mainClass String 运行主类
6 mainArgs String 运行参数
7 others String 其他参数
8 mainJar Object 程序 jar 包
9 deployMode String 部署模式 local,client,cluster
10 slot String slot数量
11 taskManager String taskManager数量
12 taskManagerMemory String taskManager内存数
13 jobManagerMemory String jobManager内存数
14 programType String 程序类型 JAVA,SCALA,PYTHON
15 localParams Array 自定义参数
16 resourceList Array 资源文件
17 description String 描述
18 runFlag String 运行标识
19 conditionResult Object 条件分支
20 successNode Array 成功跳转节点
21 failedNode Array 失败跳转节点
22 dependence Object 任务依赖 与params互斥
23 maxRetryTimes String 最大重试次数
24 retryInterval String 重试间隔
25 timeout Object 超时控制
26 taskInstancePriority String 任务优先级
27 workerGroup String Worker 分组
38 preTasks Array 前置任务

节点数据样例:

  1. {
  2. "type":"FLINK",
  3. "id":"tasks-17135",
  4. "name":"FlinkTask",
  5. "params":{
  6. "mainClass":"com.flink.demo",
  7. "mainJar":{
  8. "id":6
  9. },
  10. "deployMode":"cluster",
  11. "resourceList":[
  12. {
  13. "id":3,
  14. "name":"run.sh",
  15. "res":"run.sh"
  16. }
  17. ],
  18. "localParams":[
  19. ],
  20. "slot":1,
  21. "taskManager":"2",
  22. "jobManagerMemory":"1G",
  23. "taskManagerMemory":"2G",
  24. "executorCores":2,
  25. "mainArgs":"100",
  26. "others":"",
  27. "programType":"SCALA"
  28. },
  29. "description":"",
  30. "runFlag":"NORMAL",
  31. "conditionResult":{
  32. "successNode":[
  33. ""
  34. ],
  35. "failedNode":[
  36. ""
  37. ]
  38. },
  39. "dependence":{
  40. },
  41. "maxRetryTimes":"0",
  42. "retryInterval":"1",
  43. "timeout":{
  44. "strategy":"",
  45. "interval":null,
  46. "enable":false
  47. },
  48. "taskInstancePriority":"MEDIUM",
  49. "workerGroup":"default",
  50. "preTasks":[
  51. ]
  52. }

HTTP节点

节点数据结构如下:

序号 参数名 类型 描述 描述
1 id String 任务编码
2 type String 类型 HTTP
3 name String 名称
4 params Object 自定义参数 Json 格式
5 url String 请求地址
6 httpMethod String 请求方式 GET,POST,HEAD,PUT,DELETE
7 httpParams Array 请求参数
8 httpCheckCondition String 校验条件 默认响应码200
9 condition String 校验内容
10 localParams Array 自定义参数
11 description String 描述
12 runFlag String 运行标识
13 conditionResult Object 条件分支
14 successNode Array 成功跳转节点
15 failedNode Array 失败跳转节点
16 dependence Object 任务依赖 与params互斥
17 maxRetryTimes String 最大重试次数
18 retryInterval String 重试间隔
19 timeout Object 超时控制
20 taskInstancePriority String 任务优先级
21 workerGroup String Worker 分组
22 preTasks Array 前置任务

节点数据样例:

  1. {
  2. "type":"HTTP",
  3. "id":"tasks-60499",
  4. "name":"HttpTask",
  5. "params":{
  6. "localParams":[
  7. ],
  8. "httpParams":[
  9. {
  10. "prop":"id",
  11. "httpParametersType":"PARAMETER",
  12. "value":"1"
  13. },
  14. {
  15. "prop":"name",
  16. "httpParametersType":"PARAMETER",
  17. "value":"Bo"
  18. }
  19. ],
  20. "url":"https://www.xxxxx.com:9012",
  21. "httpMethod":"POST",
  22. "httpCheckCondition":"STATUS_CODE_DEFAULT",
  23. "condition":""
  24. },
  25. "description":"",
  26. "runFlag":"NORMAL",
  27. "conditionResult":{
  28. "successNode":[
  29. ""
  30. ],
  31. "failedNode":[
  32. ""
  33. ]
  34. },
  35. "dependence":{
  36. },
  37. "maxRetryTimes":"0",
  38. "retryInterval":"1",
  39. "timeout":{
  40. "strategy":"",
  41. "interval":null,
  42. "enable":false
  43. },
  44. "taskInstancePriority":"MEDIUM",
  45. "workerGroup":"default",
  46. "preTasks":[
  47. ]
  48. }

DataX节点

节点数据结构如下: 序号|参数名||类型|描述 |描述 ———— | ————-| ————-| ———— | ————- | ————- 1|id | |String| 任务编码| 2|type ||String |类型 |DATAX 3| name| |String|名称 | 4| params| |Object| 自定义参数 |Json 格式 5| |customConfig |Int | 自定义类型| 0定制 , 1自定义 6| |dsType |String | 源数据库类型 7| |dataSource |Int | 源数据库ID 8| |dtType | String| 目标数据库类型 9| |dataTarget | Int| 目标数据库ID 10| |sql |String | SQL语句 11| |targetTable |String | 目标表 12| |jobSpeedByte |Int | 限流(字节数) 13| |jobSpeedRecord | Int| 限流(记录数) 14| |preStatements | Array| 前置SQL 15| | postStatements| Array|后置SQL 16| | json| String|自定义配置|customConfig=1时生效 17| | localParams| Array|自定义参数|customConfig=1时生效 18|description | |String|描述 | | 19|runFlag | |String |运行标识| | 20|conditionResult | |Object|条件分支 | | 21| | successNode| Array|成功跳转节点| | 22| | failedNode|Array|失败跳转节点 | 23| dependence| |Object |任务依赖 |与params互斥 24|maxRetryTimes | |String|最大重试次数 | | 25|retryInterval | |String |重试间隔| | 26|timeout | |Object|超时控制 | | 27| taskInstancePriority| |String|任务优先级 | | 28|workerGroup | |String |Worker 分组| | 29|preTasks | |Array|前置任务 | |

节点数据样例:

  1. {
  2. "type":"DATAX",
  3. "id":"tasks-91196",
  4. "name":"DataxTask-DB",
  5. "params":{
  6. "customConfig":0,
  7. "dsType":"MYSQL",
  8. "dataSource":1,
  9. "dtType":"MYSQL",
  10. "dataTarget":1,
  11. "sql":"select id, name ,age from user ",
  12. "targetTable":"emp",
  13. "jobSpeedByte":524288,
  14. "jobSpeedRecord":500,
  15. "preStatements":[
  16. "truncate table emp "
  17. ],
  18. "postStatements":[
  19. "truncate table user"
  20. ]
  21. },
  22. "description":"",
  23. "runFlag":"NORMAL",
  24. "conditionResult":{
  25. "successNode":[
  26. ""
  27. ],
  28. "failedNode":[
  29. ""
  30. ]
  31. },
  32. "dependence":{
  33. },
  34. "maxRetryTimes":"0",
  35. "retryInterval":"1",
  36. "timeout":{
  37. "strategy":"",
  38. "interval":null,
  39. "enable":false
  40. },
  41. "taskInstancePriority":"MEDIUM",
  42. "workerGroup":"default",
  43. "preTasks":[
  44. ]
  45. }

Sqoop节点

节点数据结构如下: 序号|参数名||类型|描述 |描述 ———— | ————-| ————-| ———— | ————- | ————- 1|id | |String| 任务编码| 2|type ||String |类型 |SQOOP 3| name| |String|名称 | 4| params| |Object| 自定义参数 |JSON 格式 5| | concurrency| Int|并发度 6| | modelType|String |流向|import,export 7| |sourceType|String |数据源类型 | 8| |sourceParams |String| 数据源参数| JSON格式 9| | targetType|String |目标数据类型 10| |targetParams | String|目标数据参数|JSON格式 11| |localParams |Array |自定义参数 12|description | |String|描述 | | 13|runFlag | |String |运行标识| | 14|conditionResult | |Object|条件分支 | | 15| | successNode| Array|成功跳转节点| | 16| | failedNode|Array|失败跳转节点 | 17| dependence| |Object |任务依赖 |与params互斥 18|maxRetryTimes | |String|最大重试次数 | | 19|retryInterval | |String |重试间隔| | 20|timeout | |Object|超时控制 | | 21| taskInstancePriority| |String|任务优先级 | | 22|workerGroup | |String |Worker 分组| | 23|preTasks | |Array|前置任务 | |

节点数据样例:

  1. {
  2. "type":"SQOOP",
  3. "id":"tasks-82041",
  4. "name":"Sqoop Task",
  5. "params":{
  6. "concurrency":1,
  7. "modelType":"import",
  8. "sourceType":"MYSQL",
  9. "targetType":"HDFS",
  10. "sourceParams":"{"srcType":"MYSQL","srcDatasource":1,"srcTable":"","srcQueryType":"1","srcQuerySql":"selec id , name from user","srcColumnType":"0","srcColumns":"","srcConditionList":[],"mapColumnHive":[{"prop":"hivetype-key","direct":"IN","type":"VARCHAR","value":"hivetype-value"}],"mapColumnJava":[{"prop":"javatype-key","direct":"IN","type":"VARCHAR","value":"javatype-value"}]}",
  11. "targetParams":"{"targetPath":"/user/hive/warehouse/ods.db/user","deleteTargetDir":false,"fileType":"--as-avrodatafile","compressionCodec":"snappy","fieldsTerminated":",","linesTerminated":"@"}",
  12. "localParams":[
  13. ]
  14. },
  15. "description":"",
  16. "runFlag":"NORMAL",
  17. "conditionResult":{
  18. "successNode":[
  19. ""
  20. ],
  21. "failedNode":[
  22. ""
  23. ]
  24. },
  25. "dependence":{
  26. },
  27. "maxRetryTimes":"0",
  28. "retryInterval":"1",
  29. "timeout":{
  30. "strategy":"",
  31. "interval":null,
  32. "enable":false
  33. },
  34. "taskInstancePriority":"MEDIUM",
  35. "workerGroup":"default",
  36. "preTasks":[
  37. ]
  38. }

条件分支节点

节点数据结构如下: 序号|参数名||类型|描述 |描述 ———— | ————-| ————-| ———— | ————- | ————- 1|id | |String| 任务编码| 2|type ||String |类型 |SHELL 3| name| |String|名称 | 4| params| |Object| 自定义参数 | null 5|description | |String|描述 | | 6|runFlag | |String |运行标识| | 7|conditionResult | |Object|条件分支 | | 8| | successNode| Array|成功跳转节点| | 9| | failedNode|Array|失败跳转节点 | 10| dependence| |Object |任务依赖 |与params互斥 11|maxRetryTimes | |String|最大重试次数 | | 12|retryInterval | |String |重试间隔| | 13|timeout | |Object|超时控制 | | 14| taskInstancePriority| |String|任务优先级 | | 15|workerGroup | |String |Worker 分组| | 16|preTasks | |Array|前置任务 | |

节点数据样例:

  1. {
  2. "type":"CONDITIONS",
  3. "id":"tasks-96189",
  4. "name":"条件",
  5. "params":{
  6. },
  7. "description":"",
  8. "runFlag":"NORMAL",
  9. "conditionResult":{
  10. "successNode":[
  11. "test04"
  12. ],
  13. "failedNode":[
  14. "test05"
  15. ]
  16. },
  17. "dependence":{
  18. "relation":"AND",
  19. "dependTaskList":[
  20. ]
  21. },
  22. "maxRetryTimes":"0",
  23. "retryInterval":"1",
  24. "timeout":{
  25. "strategy":"",
  26. "interval":null,
  27. "enable":false
  28. },
  29. "taskInstancePriority":"MEDIUM",
  30. "workerGroup":"default",
  31. "preTasks":[
  32. "test01",
  33. "test02"
  34. ]
  35. }

子流程节点

节点数据结构如下: 序号|参数名||类型|描述 |描述 ———— | ————-| ————-| ———— | ————- | ————- 1|id | |String| 任务编码| 2|type ||String |类型 |SHELL 3| name| |String|名称 | 4| params| |Object| 自定义参数 |Json 格式 5| |processDefinitionId |Int| 流程定义id 6|description | |String|描述 | | 7|runFlag | |String |运行标识| | 8|conditionResult | |Object|条件分支 | | 9| | successNode| Array|成功跳转节点| | 10| | failedNode|Array|失败跳转节点 | 11| dependence| |Object |任务依赖 |与params互斥 12|maxRetryTimes | |String|最大重试次数 | | 13|retryInterval | |String |重试间隔| | 14|timeout | |Object|超时控制 | | 15| taskInstancePriority| |String|任务优先级 | | 16|workerGroup | |String |Worker 分组| | 17|preTasks | |Array|前置任务 | |

节点数据样例:

  1. {
  2. "type":"SUB_PROCESS",
  3. "id":"tasks-14806",
  4. "name":"SubProcessTask",
  5. "params":{
  6. "processDefinitionId":2
  7. },
  8. "description":"",
  9. "runFlag":"NORMAL",
  10. "conditionResult":{
  11. "successNode":[
  12. ""
  13. ],
  14. "failedNode":[
  15. ""
  16. ]
  17. },
  18. "dependence":{
  19. },
  20. "timeout":{
  21. "strategy":"",
  22. "interval":null,
  23. "enable":false
  24. },
  25. "taskInstancePriority":"MEDIUM",
  26. "workerGroup":"default",
  27. "preTasks":[
  28. ]
  29. }

依赖(DEPENDENT)节点

节点数据结构如下: 序号|参数名||类型|描述 |描述 ———— | ————-| ————-| ———— | ————- | ————- 1|id | |String| 任务编码| 2|type ||String |类型 |DEPENDENT 3| name| |String|名称 | 4| params| |Object| 自定义参数 |Json 格式 5| |rawScript |String| Shell脚本 | 6| | localParams| Array|自定义参数|| 7| | resourceList| Array|资源文件|| 8|description | |String|描述 | | 9|runFlag | |String |运行标识| | 10|conditionResult | |Object|条件分支 | | 11| | successNode| Array|成功跳转节点| | 12| | failedNode|Array|失败跳转节点 | 13| dependence| |Object |任务依赖 |与params互斥 14| | relation|String |关系 |AND,OR 15| | dependTaskList|Array |依赖任务清单 | 16|maxRetryTimes | |String|最大重试次数 | | 17|retryInterval | |String |重试间隔| | 18|timeout | |Object|超时控制 | | 19| taskInstancePriority| |String|任务优先级 | | 20|workerGroup | |String |Worker 分组| | 21|preTasks | |Array|前置任务 | |

节点数据样例:

  1. {
  2. "type":"DEPENDENT",
  3. "id":"tasks-57057",
  4. "name":"DenpendentTask",
  5. "params":{
  6. },
  7. "description":"",
  8. "runFlag":"NORMAL",
  9. "conditionResult":{
  10. "successNode":[
  11. ""
  12. ],
  13. "failedNode":[
  14. ""
  15. ]
  16. },
  17. "dependence":{
  18. "relation":"AND",
  19. "dependTaskList":[
  20. {
  21. "relation":"AND",
  22. "dependItemList":[
  23. {
  24. "projectId":1,
  25. "definitionId":7,
  26. "definitionList":[
  27. {
  28. "value":8,
  29. "label":"MRTask"
  30. },
  31. {
  32. "value":7,
  33. "label":"FlinkTask"
  34. },
  35. {
  36. "value":6,
  37. "label":"SparkTask"
  38. },
  39. {
  40. "value":5,
  41. "label":"SqlTask-Update"
  42. },
  43. {
  44. "value":4,
  45. "label":"SqlTask-Query"
  46. },
  47. {
  48. "value":3,
  49. "label":"SubProcessTask"
  50. },
  51. {
  52. "value":2,
  53. "label":"Python Task"
  54. },
  55. {
  56. "value":1,
  57. "label":"Shell Task"
  58. }
  59. ],
  60. "depTasks":"ALL",
  61. "cycle":"day",
  62. "dateValue":"today"
  63. }
  64. ]
  65. },
  66. {
  67. "relation":"AND",
  68. "dependItemList":[
  69. {
  70. "projectId":1,
  71. "definitionId":5,
  72. "definitionList":[
  73. {
  74. "value":8,
  75. "label":"MRTask"
  76. },
  77. {
  78. "value":7,
  79. "label":"FlinkTask"
  80. },
  81. {
  82. "value":6,
  83. "label":"SparkTask"
  84. },
  85. {
  86. "value":5,
  87. "label":"SqlTask-Update"
  88. },
  89. {
  90. "value":4,
  91. "label":"SqlTask-Query"
  92. },
  93. {
  94. "value":3,
  95. "label":"SubProcessTask"
  96. },
  97. {
  98. "value":2,
  99. "label":"Python Task"
  100. },
  101. {
  102. "value":1,
  103. "label":"Shell Task"
  104. }
  105. ],
  106. "depTasks":"SqlTask-Update",
  107. "cycle":"day",
  108. "dateValue":"today"
  109. }
  110. ]
  111. }
  112. ]
  113. },
  114. "maxRetryTimes":"0",
  115. "retryInterval":"1",
  116. "timeout":{
  117. "strategy":"",
  118. "interval":null,
  119. "enable":false
  120. },
  121. "taskInstancePriority":"MEDIUM",
  122. "workerGroup":"default",
  123. "preTasks":[
  124. ]
  125. }