跳到主要内容
版本:5.0 (最新)

服务任务

概要

服务任务描述流程内可由系统自动执行的操作(如调用后端服务、执行脚本、触发异步作业等)。

当前状态:

  • 服务任务已经具备后端自动执行闭环;
  • 系统内置默认执行器、回显执行器、HTTP / WebHook 执行器,可在节点激活后自动完成服务任务并推进流程;
  • 后端已支持执行器注册表,可按 internal_name_key 接入真实内部服务;
  • 服务提供者已增加 执行方式(execution_type),用于区分内部能力、HTTP、WebHook、AI / Agent;
  • 真实业务调用已经支持基础超时控制,但重试、幂等、补偿策略仍需继续完善。

语义边界:

  • 服务任务 表示“流程里要自动调用一个能力”;
  • 服务提供者 表示“系统中有哪些可调用能力”;
  • 原先模糊的 Bot / AI 不再作为参与者建模,而是收敛为 ServiceProvider.execution_type = Agent

下一步:定义服务任务的契约示例(输入/输出/错误码),并将默认执行器逐步替换为真实的内部服务执行器。

服务任务实现细节

  1. 服务契约示例
{
"service_name": "notify_email",
"execution_type": "Http",
"input": { "to": "[email protected]", "subject": "...", "body": "..." },
"timeout_ms": 5000,
"retry": { "max": 3, "backoff_ms": 200 }
}
  1. 幂等性与错误策略
  • 每次调用应包含 idempotency_key 或保留可重放的 trace_id
  • 定义错误分类(可重试/不可重试)并在任务上记录重试计数;
  • 超过重试后转入死信队列并生成告警。
  1. 调用适配器与扩展点
  • 提供 HTTP/GRPC/消息队列等调用适配器;
  • 支持用户自定义插件或脚本以连接非标准系统。

当前后端已经具备扩展点,并已支持直接配置 HTTP / WebHook 调用;后续只需要按业务继续补充执行器,而不必重写执行引擎主链路。

  1. 监控与可观测性
  • 记录调用延时、成功率与错误码;
  • 为关键服务任务创建 SLA 报表与告警阈值。
  1. 示例测试用例
  • 模拟成功返回、超时、间歇性错误并验证重试策略;
  • 校验幂等性在重复提交场景下的行为。