更新时间:2024-08-21 GMT+08:00
分享

在服务编排中订购AstroZero事件

在AstroZero低代码平台中,可以通过服务编排和工作流,来订阅事件。本章节以在服务编排中订阅事件为例,向您介绍订阅事件的流程。

创建AstroZero自定义事件中,创建了一个记录应聘者是否被录用状态变化的事件。本章节向您介绍如何通过服务编排,来订购该事件。通过事件发送接口,模拟招聘经理给出招聘结果,通过订阅该事件,系统根据状态结果自动发邮件给人事部,通知人事部是否办理入职手续。

通过服务编排订阅事件

  1. 参考创建服务编排中操作,新建一个服务编排。

    图1 添加服务编排
    表1 新建服务编排参数说明

    参数

    说明

    标签

    新建服务编排的标签名,用于在页面展示。

    取值范围:1~64个字符。

    示例:EmployResultNotifySubscription。

    名称

    名称为服务编排在系统中的唯一标识,创建后不可修改。要求如下:

    • 长度不能超过64个字符,包括前缀命名空间的长度。
      说明:

      名称前的内容为命名空间,在AstroZero中为了避免不同租户间数据的重名,租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间,创建后不支持修改。

    • 名称必须以英文字母开头,只能由英文字母、数字或单下划线组成,且不能以下划线结尾。

    示例:EmployResultNotifySubscription。

    类型

    请在下拉列表中,选择新建服务编排的类型。取值如下:

    • Autolaunched Flow:自启动服务编排,即在接口调用后,会立即执行服务编排中定义的逻辑。
    • Event Trigger:事件触发的服务编排,在事件触发时,才会开始执行服务编排中定义的逻辑。

    示例:Event Trigger。

    事件

    选择在服务编排中订阅的事件,即创建AstroZero自定义事件中创建的事件,请确保事件已启用。

    描述

    请根据需要,在文本框中输入该服务编排的描述信息。

    取值范围:1~255个字符。

  2. 在服务编排设计页面左侧,选择“逻辑”,拖拽“决策”图元至画布中。

    该图元类似“if”语句的判断,用于在服务编排流程中创建判断条件,根据判断结果连线其他图元,决定后续执行何种操作。本示例需要设置应聘者被成功录用、应聘者没被录用和其他三个判断分支。

    图2 拖拽决策图元至画布中

  3. 选中决策图元,单击,设置分支条件参数。

    图3 pass分支条件配置
    图4 unpass分支条件配置

    可编辑的结果,即所有的判断条件。系统已预置默认条件,即当其他所有条件均不满足情况下,进入该分支。

    本示例,需要新增如下两个判断条件:

    • Pass:应聘者被录用。应聘通过时,事件中自定义的布尔类型参数“Result”赋值为全局常量“{!$GlobalConstant.True}”,表示结果为真,即应聘通过。
    • Unpass:应聘者没有被录用。应聘失败时,事件中自定义的布尔类型参数“Result”赋值为全局常量“{!$GlobalConstant.False}”,表示结果为假,即应聘失败。

  4. 在服务编排设计页面左侧,选择“基本”,拖拽“发送邮件”图元至画布中。

    发送邮件是发送邮件的接口。本示例中,需要根据录用结果,发送不同的邮件给人事部。

    • 录用成功,需要邮件通知人事部办理入职。
    • 录用不成功,需要邮件通知人事部告知应聘者应聘失败。
    • 事件超时(默认分支),需要邮件通知招聘经理,看其是否给出招聘结果。

  5. 如下图所示,以应聘者被成功录用为例,设置发送邮件参数。

    1. 选中发送邮件图元,单击,设置基本信息。
      图5 设置邮件发送基本信息
    2. 单击,设置邮件发送参数。
      图6 配置邮件发送参数
      表2 邮件发送参数说明

      参数

      说明

      邮件配置

      可选择“直接编辑”手动设置邮件信息或“基于模板”选择邮件模板。

      示例:直接编辑。

      主题

      请根据需要,在输入框中输入邮件的标题。

      示例:Interview Result。

      内容

      设置邮件的内容,需要使用事件变量“命名空间_EmployResultNotify__e”,请直接从变量中拖入。

      地址

      接收人的邮箱地址。

      • 文本:表示直接输入。
      • 集合:表示可以拖入一个集合变量。

      示例:文本,即直接输入邮件接收人的地址。

  6. 参考5中操作,设置应聘者录用失败和超时邮件发送。
  7. 图7所示,连接所有元素。

    图7 连接并设置起始元素

  8. 在服务编排设计页面上方,单击,保存服务编排。
  9. 保存成功后,单击,启用服务编排。

    启用后,当有“EmployResultNotify”事件触发时,即会执行服务编排中定义的逻辑。

结果验证

通过服务编排订阅“EmployResultNotify”事件后,招聘经理需要给出招聘结果,即给“Result”赋值后,人事部经理才会收到招聘者是否被录用的邮件通知。即需要设置发送事件,订阅者才可以接收事件。

本章节通过单独创建一个服务编排,来给应聘者Lily的应聘结果“Result”赋值,模拟事件发送。

  1. 参考创建服务编排中操作,创建一个服务编排。

    图8 新建服务编排SendEvent

  2. 在服务编排设计页面左侧,选择“基本”,拖拽“发送事件”图元至画布中。

    Send Event为系统提供的,发送事件接口。

    图9 拖拽发送事件图元至画布中

  3. 配置发送事件图元。

    以应聘者Lily被成功录用为例,在“全局上下文”中,单击“变量”后的加号,新增变量,设置发送事件参数。

    1. 单击,进入全局上下文页面,新建一个变量variable0。
      图10 新增一个变量
    2. 选中发送事件图元,单击,设置基本信息。
      图11 设置发送事件基本信息
    3. 单击,设置发送事件。
      图12 发送事件配置页面

      表3 发送事件参数说明

      参数

      说明

      事件

      选择待发送的事件,本示例选择创建AstroZero自定义事件中创建的事件。

      分区字段

      从事件中,选择一个自定义参数,用作Kafka的分区字段。设置后,会根据该字段值进行路由,相同的值将路由到同一个Kafka分区。如果不指定,则默认随机路由到不同Kafka分区,从而提升并发处理性能。

      发送到外部

      系统内部有配置与AstroZero相连Kafka的固定Topic(__BINGO_SYS_TOPIC)。

      • 不勾选,表示将事件数据发到默认的Topic上。
      • 勾选,表示将事件数据发送到与AstroZero相连Kafka的其他Topic上。

      默认为不勾选。

      延迟到事务结束(提交或回滚)后才发送

      是否延迟到该服务编排事务结束后,才发送事件。

      默认为不勾选。

      目标/源

      该事件自定义的参数取值,请单击“新增行”,进行添加并赋值。

  4. 连接开始和发送邮件图元。

    图13 连接图元

  5. 在服务编排设计页面上方,单击,保存服务编排。
  6. 保存成功后,单击,运行服务编排。
  7. 设置输入参数,单击“运行”,运行后,才能发送该事件。

    邮件接收者,收到邮件,验证成功。

    图14 发送事件

相关文档