@@ -439,3 +439,52 @@ Terminate a Chain of Automatic Retries
439
439
Use the same intervention as :ref: `interventions.set-task-outputs `,
440
440
but specify the "failed" output rather than
441
441
"succeeded".
442
+
443
+
444
+ Hold The Workflow And Trigger Tasks One By One
445
+ ----------------------------------------------
446
+
447
+ :Example:
448
+ I want to hold back the workflow whilst I manually run one or more tasks
449
+ to fix a problem or test a task.
450
+
451
+ :Solution:
452
+ * Hold all tasks after a specified cycle.
453
+ * Trigger the task(s) you want to run.
454
+ * When you're done triggering, release the held tasks to allow the workflow
455
+ to continue.
456
+
457
+ .. tab-set ::
458
+
459
+ .. tab-item :: GUI
460
+ :sync: gui
461
+
462
+ .. image :: set-and-release-hold-point.gif
463
+ :width: 75%
464
+
465
+ .. tab-item :: CLI
466
+ :sync: cli
467
+
468
+ .. code-block :: console
469
+
470
+ $ # hold all tasks after the cycle "2000"
471
+ $ cylc hold --after=2000 <workflow>
472
+
473
+ $ # trigger the task(s) you want to run
474
+ $ cylc trigger <workflow>//<cycle>/<task>
475
+
476
+ $ # release the "hold point" to allow the workflow to continue
477
+ $ cylc release --all <workflow>
478
+
479
+ .. note ::
480
+
481
+ The difference between the workflow "paused" state and the task "held" state:
482
+
483
+ Workflow Pause
484
+ When a workflow is :term: `paused <pause> `, no new jobs will be submitted.
485
+ This gives you an opportunity to make changes to the workflow, however, if
486
+ you trigger tasks, they will not run until the workflow is resumed.
487
+
488
+ Task Hold
489
+ When a task is :term: `held <hold> `, then it will not submit (if ready to
490
+ submit) until released.
0 commit comments