执行简介
基本概念
执行(Execution)是对流程(Flow)的一次具体运行。在创建流程后,您可以多次执行流程,通常每次执行(Execution)有不同的输入。比如用户每次下单会执行一次订单管理流程,执行的输入是订单信息。
执行属性
下面列出了执行的属性,除了 ExecutionName 和 Input 是开始执行输入外,其它是执行的输出信息。
- ExecutionName:执行的名称。在同一流程内唯一,并符合如下约束:
- 由英文字符(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:事件类型。
- EventDetail:事件详情。
- Time:事件发生时间。
- EventId:事件 ID。
- ScheduleEventId:触发当前事件的事件 ID。