ymq 77f5aa45dc fix(poller): 依赖门控提前到候选筛选 + 项目轮询,修复队列饥饿
agent_poller 原来 SELECT 后 [:avail] 截断只取队列头 avail 个任务,依赖门控却
在认领阶段(_claim_task)才检查——依赖未满足的僵尸 submitted 任务(created_at 最早)
永久占住队头,导致其他项目/新任务饿死(一项目卡死全平台瘫痪)。

改动:
1. 候选 SELECT 带上 depends_on,批量查依赖状态,排除依赖未满足的任务(终态=completed/approved)
2. 项目轮询(round-robin): 按 tenant_id 分组轮流取就绪任务,保证项目间公平
3. SELECT LIMIT 20->200 容纳僵尸任务;批量查依赖替代 N+1
2026-08-20 11:34:49 +08:00
2026-08-08 11:43:26 +08:00

pipeline_service

产线执行引擎 —— 任务调度、步骤执行、人工任务交互、LLM 桥接。

功能

  • 任务执行DAG 步骤调度与状态机
  • 人工任务:审批/输入等待与交互
  • LLM 桥接:统一 LLM 调用接口
  • Agent LoopAI Agent 多轮任务执行
  • 意图分类:自然语言意图识别
  • 产物管理:步骤输入输出存储

数据表

说明
pipeline_tasks 任务实例
pipeline_task_steps 步骤执行记录
pipeline_artifacts 步骤产物
pipeline_human_tasks 人工任务
pipeline_step_types 步骤类型注册

安装

cd pkgs/pipeline-service && pip install .

核心模块

文件 职责
executor.py 任务/步骤调度引擎
storage.py 数据库读写
llm_bridge.py LLM API 调用
agent_loop.py AI Agent 多轮执行
human.py 人工任务处理
intent_classifier.py 意图识别
state.py 状态机
step_registry.py 步骤类型注册表
Description
No description provided
Readme 1.4 MiB
Languages
Python 99.5%
Shell 0.5%