实验任务循环管理器

条件循环执行器:按测量结果自动重复/跳转/终止任务组循环。

概述

quatm/GUI/looper/ 提供实验任务循环管理器(Looper):以“循环组(标签页)” 组织任务条目,按顺序执行组内条目,并根据测量结果决定跳转或终止。LoopManager 在 后台线程运行循环;循环定义持久化在 loopfile.json,与 Web 远程控制平台共用。

核心逻辑

LoopManager.run_loop():从起始组开始,无限循环直到 terminate
  └─→ 按顺序执行组内条目
       ├─ Task:提交到实验队列,等待完成后推进(可设最大次数)
       └─ Conditional:读数据流字段比较 → 满足跳转 / 不满足走 else

组件

组件说明
LoopGroup循环组(一个标签页)
TaskItem / ListItem任务条目 / 任务列表条目
ConditionalItem数据条件、到达序号、时间等条件条目
Baustelle组内条目的添加/删除/编辑面板
DataManager订阅数据流、累积最新测量值
LoopManager循环执行器(run_loop() / terminate(),后台线程)

用法

from quatm.GUI.looper import Looper

looper = Looper(parent=browser)   # 浏览器顶部 dock 的循环器标签页

更完整说明见 循环器