• 简体中文
  • v6.5.1
  • Lane Queue

    默认情况下,A3S Code 会在进程内运行每一个任务,没有任何队列。lane 队列属于可选基础设施:为某条 lane 注册一个外部 handler 后,路由到该 lane 的工具不会由 agent 执行,而是排入队列、等待外部 worker 取走。随后你自己排空这些待处理任务,按需运行它们,再把结果回报回来。只有当外部 worker 确实是你架构的一部分时,才需要用到它。

    共有四条 lane:controlqueryexecutegenerate。每个 handler 的 mode 可以是 internal(默认)、externalhybrid

    Node.js
    Python

    说明:

    • 默认路径不含队列。 在你至少注册一个 external(或 hybrid)lane handler 之前,hasQueue() / has_queue() 始终返回 false。如果你从不调用 setLaneHandler / set_lane_handler,每个任务都会在进程内运行,也就没有任何待排空的内容。
    • 每个待处理任务都带有 task_idsession_idlanecommand_typepayloadtimeout_ms。工作完成后,把 task_id 传回给 completeExternalTask / complete_external_task
    • 结果结构为 { success, result?, error? }——result 可承载任意可 JSON 序列化的载荷,error 是失败时的可选消息。completeExternalTask / complete_external_task 在找到并完成任务时返回 true,否则返回 false
    • 在 Python 中这些队列方法是同步的;在 Node 中 setLaneHandlerpendingExternalTaskscompleteExternalTask 返回 promise,而 hasQueue 是同步的。