Skip to content

扩展队列模式支持批处理并开放通道路由查询接口 #649

@muverystrong

Description

@muverystrong

背景

当前队列模式(QueueMode)仅支持 PULL/ROUTE 两类,不覆盖批处理(BATCH)场景。同时,路由系统缺乏对外暴露的通道列表查询接口,外部调用方无法在请求前了解可用通道分布,影响路由透明度与排查效率。

诉求

  1. 扩展 QueueMode 枚举,增加 SINGLE(原 PULL)、BATCH、SINGLE_ROUTE、BATCH_ROUTE 模式,通过位运算支持灵活的模式组合,并限制 SINGLE 与 BATCH 不可共存
  2. 新增 POST /v1/route/list 接口,允许调用方传入 endpoint/model/apikey/queueMode,查询当前可用通道列表(按优先级排序)
  3. SDK(OpenapiClient)同步新增 listAvailableChannels 方法,封装对新接口的调用

预期影响

  • 批处理任务调度场景可通过 BATCH 模式路由到支持批处理的通道,不再局限于原有 PULL 模式
  • 外部调度系统可通过路由查询接口提前感知可用通道,提升路由决策透明度和可调试性
  • SDK 用户可直接调用方法获取通道列表,无需自行构造 HTTP 请求

证据

  • ChannelRouter.route() 重构为先调用 listAvailableChannels() 再取首个结果,路由行为与原逻辑等价
  • QueueMode 位掩码设计:SINGLE=1, ROUTE=2, BATCH=4,校验层确保 SINGLE 与 BATCH 互斥
  • ChannelService.listActives()ModelService.fetchTerminalModelName() 缓存注解暂时注释,便于实时反映变更
  • ChannelService.listAllWorkerChannels() 查询条件更新为新 QueueMode 枚举值

相关链接

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions