Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

包(Package)是工作流中可复用的执行单元。每个步骤或活动通过 uses 指定包名来调用对应的包。

内置包

包名类型说明
acts.core.irq中断发起中断请求,等待客户端处理完成
acts.core.msg消息发送单向消息到客户端
acts.core.block包含子活动列表,支持 sequence 模式
acts.core.parallel并行对集合进行并行执行
acts.core.sequence顺序对集合进行顺序执行
acts.core.subflow子流程调用另一个工作流模型
acts.core.action命令执行引擎命令
acts.transform.set变换设置变量值
acts.transform.code变换执行 JavaScript 代码 (QuickJS 运行时)

工作流的启动触发器通过 on 字段声明(manual/chat/hook/schedule),参见 触发器

使用示例

steps:
    - id: step1
      uses: acts.core.irq
      params:
        key: act1

    - id: step2
      uses: acts.core.block
      params:
        mode: sequence
        acts:
          - uses: acts.core.irq
            params:
              key: sub_act1
          - uses: acts.core.msg
            params:
              key: sub_msg

自定义包

可以通过实现 ActPackage trait 来扩展自定义包,用 engine.executor(&principal).ext().register_package(&meta) 注册(principal 是调用者 身份,见访问控制;引擎自身在启动时注册内置包也走同一条路)。