forked from M-Labs/artiq
scheduler: consider the pipeline flushed if everything has a lower priority than us. Closes #640
This commit is contained in:
parent
a649408304
commit
e4a631a3d7
|
@ -43,6 +43,9 @@ Release notes
|
|||
those logs to the master. See the example device databases to see how to
|
||||
instantiate this controller. Using ``artiq_session`` ensures that a controller
|
||||
manager is running simultaneously with the master.
|
||||
* Experiments scheduled with the "flush pipeline" option now proceed when there
|
||||
are lower-priority experiments in the pipeline. Only experiments at the current
|
||||
(or higher) priority level are flushed.
|
||||
|
||||
|
||||
2.3
|
||||
|
|
|
@ -294,7 +294,8 @@ class _ExperimentDock(QtWidgets.QMdiSubWindow):
|
|||
priority.valueChanged.connect(update_priority)
|
||||
|
||||
flush = QtWidgets.QCheckBox("Flush")
|
||||
flush.setToolTip("Flush the pipeline before starting the experiment")
|
||||
flush.setToolTip("Flush the pipeline (of current- and higher-priority "
|
||||
"experiments) before starting the experiment")
|
||||
self.layout.addWidget(flush, 2, 2, 1, 2)
|
||||
|
||||
flush.setChecked(scheduling["flush"])
|
||||
|
|
|
@ -204,6 +204,7 @@ class PrepareStage(TaskObject):
|
|||
run.status = RunStatus.flushing
|
||||
while not all(r.status in (RunStatus.pending,
|
||||
RunStatus.deleting)
|
||||
or r.priority < run.priority
|
||||
or r is run
|
||||
for r in self.pool.runs.values()):
|
||||
ev = [self.pool.state_changed.wait(),
|
||||
|
|
Loading…
Reference in New Issue