实验队列管理器
表格化实验任务队列:任务字典、优先级排序、暂停/终止与预约执行。
概述
quatm/GUI/experiment/experiment_queue.py 提供实验队列管理器(ExperimentQueue
):以表格展示任务队列(任务字典 expDict,任务号为主键),支持优先级排序、状
态跟踪与暂停/终止/删除等控制。submit() 是 GUI 线程的唯一入队入口(集中分配任务
号,Looper 经 submitItem 信号也走它)。
关键方法
| 方法 | 说明 |
|---|---|
submit | 入队唯一入口:集中分配任务号 |
pause | 暂停/恢复当前运行的实验 |
set_sleeping | 把任务设为 Sleeping / Queued(预约执行) |
terminate_clicked / terminate_all | 优雅终止选中 / 全部任务(Termination Pending) |
delete_item / delete_clicked | 删除任务(运行中则优雅终止) |
update_item | 刷新某任务行 |
set_model | 更换表格模型(ScheduleModel) |
任务状态枚举:Queued / Waiting / Sleeping / Running / Paused / Scanning / Terminating / Termination Pending / Done / Failed。
用法
from quatm.GUI.experiment.experiment_queue import ExperimentQueue
q = ExperimentQueue(browser=parent) # 嵌入实验浏览器
q.submit(task_dict) # 入队(GUI 线程调用)
更完整说明见 实验队列。