文档首页 > > 开发指南> 概述> 工作流基本概念

工作流基本概念

分享
更新时间: 2019/07/02 GMT+08:00

工作流

工作流规定了实现某个目标的过程中,相关的逻辑步骤及其顺序。在FunctionGraph服务中,可以使用一系列组件,完成诸如串行、并行以及分支选择等形式的流程编排。如图1所示。

图1 工作流的不同形式

图中每个方框代表工作流的一个步骤。针对每个步骤,您可以让它执行一个参数过滤的简单操作,也可以去调用一个函数,具体的类型参见节点类型及说明介绍。

执行实例

工作流是业务流程的静态定义(采用Json格式,具体定义方式参见FunctionGraph工作流定义规范介绍),工作流在运行过程中会产生执行实例。一个工作流可以多次启动,产生多个执行实例。

工作流触发器

函数工作流是事件触发的。触发器规定了工作流启动的条件,一旦该条件满足,工作流将会立即执行,产生相应执行实例。当前,函数工作流服务可以被两种服务触发:对象存储服务(OBS)和消息通知服务(SMN)。

当您在创建触发器时,实际上是规定了一系列的触发条件。当对方服务中符合条件的事件发生时,它们会将事件消息发送到函数工作流服务,以启动工作流实例,或驱动特定工作流实际继续运行。

以一个OBS中的PUT事件为例,其触发函数工作流执行的流程如图2所示:

  1. 用户向特定存储桶中放置文件,对应存储桶产生PUT事件;
  2. PUT事件被OBS服务捕获,继而以消息的形式通知到函数工作流服务;
  3. 函数工作流服务根据事件消息,启动对应的工作流实例。
    图2 OBS触发函数工作流服务流程

函数

在工作流中,可以通过调用FunctionGraph函数来完成一系列自定义的任务。在Event状态以及Operation状态中,使用者可以通过指定已存在的FunctionGraph函数URN来定义该状态执行时调用的函数,同时可以指定调用的模式,详见输入输出定义状态图定义实例章节相关内容。

定时器

函数工作流的实例启动可以通过定时器来完成,定时器根据用户设置的相关定时,来按用户计划的时间定时启动实例。

定时的方式目前包括两种:固定频率和Cron表达式定时,用户可以根据自己的场景完成工作流的执行计划。

  • 固定频率定时器可以根据分、小时、天,来进行完成工作流执行计划。
  • cron表达式可以完成更为复杂的工作流执行计划,如每周最后一天、20XX年3月5号执行工作流等,具体规则可以参见工作流定时器Cron表达式说明

用户制定自己的工作流执行计划流程如下:用户创建对应的工作流;根据自己的工作流执行计划来选择定时方式完成定时计划的绑定;启动自己的定时器,服务便会按用户计划执行实例。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区