You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过按钮移除Assembler模块Delay段中的Agent?

解决Assembler模块Delay段Agent无法移除的问题

问题需求

通过"Reset"按钮清除两个Queue模块(Lager_Oberteile、Lager_Plättchen)及Assembler模块(Klebestation)中的所有Agent,其中Assembler的Delay段Agent无法通过原代码移除。

原代码问题分析

原代码仅通过if (Klebestation.delaySize() == 1)判断并移除指定Agent,存在两个核心问题:

  • 仅处理Delay段有1个Agent的情况,无法覆盖多个Agent的场景
  • 直接指定Oberteil_Plättchen_geklebt作为移除对象,可能因Agent引用不匹配导致移除失败

修正后的代码

// 清空两个Queue模块的所有Agent
while(Lager_Oberteile.size() > 0) {
    Lager_Oberteile.removeFirst();
}
while(Lager_Plättchen.size() > 0) {
    Lager_Plättchen.removeFirst();
}

// 循环清空Assembler模块的Delay段
while(Klebestation.delaySize() > 0) {
    Agent delayAgent = Klebestation.getDelayAgent(0);
    Klebestation.remove(delayAgent);
}

offene_Aufträge = 0;

关键说明

  • 改用while循环判断delaySize(),确保无论Delay段有多少Agent都能被清空
  • 使用getDelayAgent(0)获取Delay段的第一个Agent对象,保证移除操作的准确性
  • 保留原Queue模块的清空逻辑,确保所有目标模块的Agent都被清除

内容的提问来源于stack exchange,提问作者Nico

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 05:20:23