准备台
实验参数暂存与编辑区:在推入队列前预览、排序和微调任务。
概述
PrepStation 是实验浏览器(Browser)顶部 dock 中的一个标签页,作为实验队列的
“暂存区”:把尚未准备就绪的任务先存放于此,确认无误后再推入 ExperimentQ 排队
执行。任务列表持久化在 configuration/browser/prepfile.json,并可在浏览器端
实验控制台(Web 远程控制)中查看与操作。
功能
| 操作 | 说明 |
|---|---|
| 📋 暂存 | 实验窗口点击 Prep 按钮,把当前参数(含扫描定义)暂存到任务列表 |
| ➡️ 推送 | 把选中任务复制到 ExperimentQ(队列保留任务编号、优先级、扫描参数等完整信息) |
| 🔁 加入循环 | 把选中任务加入 Looper 循环组(push_to_looper) |
| ↕️ 排序 | 上移/下移调整任务顺序 |
| 💤 休眠 | 标记为 Sleeping 后暂不参与推送 |
| ✏️ 编辑/查看 | 打开任务参数编辑器或只读视图 |
| 💾 保存/加载 | 参数集另存为 JSON(experiment_params/<实验>/<日期>/) |
任务数据结构
每个暂存任务与队列任务同构(由实验窗口 setup_task_dict() 生成):
task = {
'task': 12, # 任务编号
'expName': 'Absorption', # 实验名
'label': 'scan: freq 2:1', # 标签(含扫描前缀)
'priority': 0,
'args': {'count': 5}, # 实验参数
'nRuns': 21, # 扫描点数
'scanpars': ['freq'], # 扫描参数
'scanvals': [[...]], # 扫描值
'scansequence': [...], # 扫描顺序(随机化后)
'nReps': 1,
'status': 'Queued', # Queued / Sleeping / Waiting
'filepath': '.../absorption.py',
}
持久化与共享
- 任务列表保存在
configuration/browser/prepfile.json,浏览器重启后自动恢复; - 桌面 GUI 与 Web 远程控制 平台共用 同一份文件, 任意一端暂存/推送/排序/休眠的任务在另一端立即可见。