本文介绍关于工作流执行的基本内容,包括执行的基本概念、执行属性和执行历史事件。
基本概念
工作流执行是指对流程的一次具体运行。创建流程后,您可以多次执行流程,通常每次执行有不同的输入。
执行属性
下文列出了执行的属性,除了FlowName和Input是开始执行输入外,其他是执行的输出信息。
FlowName:执行的名称。在同一流程内唯一,可以为空,如果输入需符合如下约束。
支持英文字符(a~z)或(A~Z)、数字(0~9)、下划线(_)和短划线(-)。
首字母必须为英文字母(a~z)、(A~Z)或下划线(_)。
区分大小写。
长度为1~128个字符。
Input:执行的输入。若您自定义执行的输入,则必须是JSON对象格式。
Output:执行的输出必须是JSON对象格式。
FlowDefinition:流程定义。具体信息,请参见流程定义介绍。为确保流程更新不影响已经开始的执行,每个执行会保存其开始时对应的流程定义。
Status:执行的状态。包括Starting、Running、Stopped、Succeeded、Failed和TimedOut。
StartedTime:执行开始时间。
StoppedTime:执行结束时间。
执行历史事件
通常一个流程会包含多个步骤,在执行时,每个步骤的执行会产生一些事件。这些事件详细的记录了步骤的执行状态。您可以通过这些事件了解一个流程当前的执行步骤、输入、输出、流程执行持续时长和失败原因等信息。同时,云工作流服务利用这些状态数据跟踪流程执行,确保系统的高可用性。
您可以通过以下信息了解执行事件(Event)的属性,其中事件详情(EventDetail)是一个JSON对象格式的字符串,不同事件类型(Type)的事件详情内容可能会有所不同。
StepName:步骤名称。对应流程定义语言中的步骤名称。
Type:事件类型。云工作流执行过程中的事件类型依次为EnterEvent、ExecEvent和ExitEvent。关于事件中包含的状态(State)及状态流转情况,请参见流程定义介绍。
EventDetail:事件详情。
Time:事件发生时间。
EventId:事件ID。
ScheduleEventId:触发当前事件的事件ID。