Skip to content

Commit bf39edf

Browse files
authored
Merge pull request #7043 from cylc/8.6.x-sync
🤖 Merge 8.6.x-sync into master
2 parents 63b8564 + 4009fe8 commit bf39edf

File tree

3 files changed

+55
-0
lines changed

3 files changed

+55
-0
lines changed

changes.d/7007.fix.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fix bug where cylc play --pause would resume a paused workflow.

cylc/flow/scheduler_cli.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -495,6 +495,11 @@ async def _resume(workflow_id, options):
495495
LOG.critical('Cannot tell if the workflow is running')
496496
sys.exit(1)
497497
else:
498+
# It's running but the user has specified --pause:
499+
if options.paused_start:
500+
LOG.warning('Workflow already running: Remove --pause to resume.')
501+
sys.exit(0)
502+
498503
# It's running: resume it and exit.
499504
print("Resuming already-running workflow")
500505
mutation_kwargs = {
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
#!/usr/bin/env bash
2+
# THIS FILE IS PART OF THE CYLC WORKFLOW ENGINE.
3+
# Copyright (C) NIWA & British Crown (Met Office) & Contributors.
4+
#
5+
# This program is free software: you can redistribute it and/or modify
6+
# it under the terms of the GNU General Public License as published by
7+
# the Free Software Foundation, either version 3 of the License, or
8+
# (at your option) any later version.
9+
#
10+
# This program is distributed in the hope that it will be useful,
11+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
# GNU General Public License for more details.
14+
#
15+
# You should have received a copy of the GNU General Public License
16+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
17+
#
18+
# Test that running ``cylc play --pause`` on a paused workflow will _not_
19+
# upause it, but will return a warning.
20+
# https://github.com/cylc/cylc-flow/issues/7006
21+
22+
. "$(dirname "$0")/test_header"
23+
set_test_number 3
24+
25+
init_workflow "${TEST_NAME_BASE}" <<'__FLOW_CONFIG__'
26+
[scheduler]
27+
allow implicit tasks = True
28+
[scheduling]
29+
[[graph]]
30+
R1 = a
31+
__FLOW_CONFIG__
32+
33+
# It starts the workflow paused:
34+
run_ok "${TEST_NAME_BASE}-start-paused" \
35+
cylc play "${WORKFLOW_NAME}" --pause
36+
37+
# It fails to unpause the workflow:
38+
run_ok "${TEST_NAME_BASE}-start-paused-again" \
39+
cylc play "${WORKFLOW_NAME}" --pause
40+
41+
# It returns an informative error:
42+
grep_ok "Workflow already running: Remove --pause to resume" \
43+
"${TEST_NAME_BASE}-start-paused-again.stderr"
44+
45+
cylc stop "${WORKFLOW_NAME}" --now --now
46+
47+
poll_workflow_stopped
48+
49+
purge

0 commit comments

Comments
 (0)