@@ -5,24 +5,30 @@ Concurrent Flows
5
5
6
6
.. versionadded :: 8.0.0
7
7
8
- In Cylc, a *flow * is a self-propagating run through the workflow :term: ` graph `
9
- from some initial task(s).
8
+ In Cylc, a *flow * is a single self-consistent run through the workflow
9
+ :term: ` graph ` from some initial task(s).
10
10
11
- At start-up the :term: `scheduler ` automatically launches a flow from the start
12
- of the graph. But you can use ``cylc trigger --flow=new ID `` to start additional
13
- flows anywhere in the graph, while the original (and any other) flow still
14
- runs. New flows continue on from triggered tasks as dictated by the graph.
11
+ As a flow advances, upcoming tasks run only if they have not already run in
12
+ the same flow.
15
13
16
- When a flow advances to a new task in the :term: `graph `, the task will only run
17
- if it did not already run in the same flow.
14
+ At start-up the :term: `scheduler ` automatically triggers the first flow from
15
+ the start of the graph.
18
16
19
- See :ref: `below<flow-trigger-use-cases> ` for suggested use cases, and an
20
- :ref: `example<new-flow-example> `, of this capability.
17
+ By default, manually triggered tasks "belong to" the existing flow(s), but you
18
+ can also choose to start new flows by triggering tasks anywhere in the graph.
19
+
20
+ .. note ::
21
+ A flow does not have to be contiguous in the graph because different graph
22
+ branches can evolve at different rates, and tasks can be manually triggered
23
+ anywhere in the graph.
24
+
25
+ See :ref: `below<flow-trigger-use-cases> ` for uses, and an
26
+ :ref: `example<new-flow-example> `, of concurrent flows.
21
27
22
28
.. note ::
23
29
Flows :ref: `merge<flow-merging> ` where (and if) tasks collide in the ``n=0 ``
24
30
:term: `active window `. Downstream of a merge, tasks are considered to belong
25
- to all constituent flows.
31
+ to all of their constituent flows.
26
32
27
33
28
34
Flow Numbers
@@ -107,6 +113,14 @@ Triggering a Flow-Independent Single Task
107
113
108
114
.. image :: ../../img/no-flow-n.png
109
115
116
+ Triggering with No Active Flows
117
+ ``cylc trigger [--wait] ID ``
118
+
119
+ By default, triggered tasks will be given the flow numbers of the most
120
+ recent active task. This can happen, for instance, if you restart a
121
+ completed workflow and then trigger a task in it. The result will be the
122
+ same as if you had triggered the task just before the workflow completed.
123
+
110
124
Special Case: Triggering ``n=0 `` Tasks
111
125
Tasks in the ``n=0 `` window are :term: `active `, :term: `active-waiting `, or
112
126
:term: `incomplete `. Their flow membership is already determined - that of
0 commit comments