实验运行调度管理器

运行调度机制:队列集中入队,worker 按优先级/预约时间取任务执行。

概述

实验运行调度由 实验队列 + 执行引擎 协作完成:ExperimentQueuesubmit() 是 GUI 线程的唯一入队入口(集中分配任务号,准备台与循环器也经它入队);常驻 worker 在 ExperimentManager.queue_fn 中轮询任务字典,按 优先级 → 任务号 → 预约时间 (due_check)挑选任务并执行(measurement → sequence → run)。

相关组件

组件模块说明
ExperimentQueueexperiment/experiment_queue.py任务队列:入队、状态跟踪、暂停/终止
ExperimentManagerexperiment/experiment_manager.py执行引擎:取任务、跑测量/序列/运行
PrepStationexperiment/prepstation.py预备任务,推送入队
Looperlooper/条件循环,经 submit 入队

调度流程

PrepStation / Looper / 实验窗口 --submit()--> 队列任务字典
        ↓
ExperimentManager.queue_fn(worker 线程,按优先级/任务号/预约时间)
        ↓
start_measurement → start_sequence → 多次 run → end_sequence → end_measurement

运行时支持暂停 / 恢复(pause)与优雅终止(terminate_experiment,Termination Pending)。

相关页面