工作流执行:数据库表:工作流、子工作流和作业存储

数据库表:工作流、子工作流和作业存储

Cromwell使用工作流、子工作流和作业存储表来保存与提交或运行中的工作流相关的数据。 当一个工作流达到终止状态时,该工作流的所有数据应从这些表中删除。

工作流存储 / WORKFLOW_STORE_ENTRY

WORKFLOW_STORE_ENTRY 存储了工作流提交时接收的数据(工作流源文件、输入参数、选项等)以及工作流范围内的执行数据(例如提交时间、状态、支持运行Horizontal Cromwell的字段等)。

作业存储 / JOB_STORE_ENTRY

JOB_STORE_ENTRY 存储工作流中已完成作业的数据。仍在运行或尚未开始的作业在此表中不会有记录。该作业存储表的主要目的是支持在Cromwell重启时通过恢复已完成作业的输出来继续执行工作流。此表与存储作业输出简单值JOB_STORE_SIMPLETON_ENTRY密切相关,并与存储其他作业范围数据(对Cromwell重启时恢复作业很重要)的作业键值存储(JOB_KEY_VALUE_ENTRY)有一定关联。

子工作流存储 / SUB_WORKFLOW_STORE_ENTRY

SUB_WORKFLOW_STORE_ENTRY 存储已开始执行的子工作流数据。该表中的行记录了与特定调用FQN和索引对应的子工作流已启动并被分配工作流ID的事实。这些子工作流中已完成的任务将被记录在上述作业存储中,并通过子工作流的ID链接到本表中的子工作流。