执行简介

本文介绍关于执行(Execution)的基本内容,包括执行的基本概念、执行属性和执行历史事件三部分。

基本概念

执行(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:执行结束时间。

执行历史事件

通常一个流程会包含多个步骤,在执行时,每个步骤的执行会产生一些事件。这些事件详细的记录了步骤的执行状态。您可以通过这些事件了解一个流程当前的执行步骤、输入、输出、流程执行持续时长和失败原因等信息。同时,Serverless 工作流服务利用这些状态数据跟踪流程执行,确保系统的高可用性。

您可以通过以下信息了解执行事件(Event)的属性,其中事件详情(EventDetail)是一个JSON对象格式的字符串,不同事件类型(Type)的事件详情内容可能会有所不同。

  • StepName:步骤名称。对应流程定义语言中的步骤名称。
  • Type:事件类型。
  • EventDetail:事件详情。
  • Time:事件发生时间。
  • EventId:事件ID。
  • ScheduleEventId:触发当前事件的事件ID。