@@ -70,8 +70,10 @@ Glossary
70
70
71
71
active
72
72
active task
73
+ active tasks
73
74
An active task is a task which is near ready to run, in the process of
74
- running, or which requires user intervention.
75
+ running, or which requires user intervention. These are all the tasks
76
+ being actively managed by the scheduler at this point in the run.
75
77
76
78
Active tasks are:
77
79
@@ -84,9 +86,9 @@ Glossary
84
86
85
87
- ``preparing `` tasks - i.e. tasks in the process of submitting jobs
86
88
- ``submitted `` and ``running `` tasks - i.e. those with active jobs
87
- - :term: ` incomplete ` tasks which have completed without satisfying all of their
88
- :term: `required outputs <required output> `, (e.g. a failed task
89
- where success was required).
89
+ - tasks that finished without completing their
90
+ :term: `required outputs <required output> `
91
+ (e.g. a task failed where success was required).
90
92
91
93
Active tasks are in the ``n=0 `` :term: `window <n-window> ` which means they
92
94
will always be displayed in the GUI and Tui.
@@ -96,18 +98,22 @@ Glossary
96
98
97
99
98
100
active cycle
101
+ active cycle point
99
102
A cycle is active if it contains any :term: `active tasks <active task> `.
100
103
101
104
Active cycles are counted towards the :term: `runahead limit `.
102
105
103
106
107
+ active window
108
+ The active window is the ``n=0 `` core of the :term: `n-window `.
109
+ It contains the current :term: `active tasks `.
110
+
111
+
104
112
window
105
113
n-window
106
- active window
107
- active task pool
108
114
This is a :term: `graph `-based window or view of the workflow at runtime,
109
- including tasks out to ``n `` graph edges from current :term: ` active
110
- tasks<active task> `. The * active window * is ``n=0 ``.
115
+ including tasks out to ``n `` graph edges from current
116
+ :term: ` active tasks<active task> `. The active tasks are in ``n=0 ``.
111
117
112
118
.. seealso ::
113
119
@@ -210,8 +216,8 @@ Glossary
210
216
queue
211
217
internal queue
212
218
Internal queues (so called to distinguish them from external batch
213
- queueing systems) allow you to limit how many :term: `tasks <task > ` can be
214
- active (submitted or running) at once, across defined groups of tasks.
219
+ queueing systems) limit how many :term: `jobs <job > ` can be
220
+ active at once, across defined groups of tasks.
215
221
216
222
Use queues prevent large or busy workflows from swamping their
217
223
:term: `job platforms <job platform> ` with too many jobs at once.
@@ -559,6 +565,23 @@ Glossary
559
565
* :term: `exact datetime unit `
560
566
561
567
568
+ clock expire
569
+ expired task
570
+ Tasks in :term: `datetime cycling ` workflows can be configured to *expire *
571
+ if the :term: `wallclock time ` exceeds some offset from the cycle point.
572
+
573
+ Expired is a :term: `final task status ` - an expired task will not run
574
+ even if its prerequisites get satisfied.
575
+
576
+ The associated ``:expire `` :term: `output <task output> ` can be used to
577
+ trigger other tasks. It must be marked as an :term: `optional output `,
578
+ i.e. expiry cannot be :term: `required <required output> `.
579
+
580
+ .. seealso ::
581
+
582
+ * :ref: `Cylc User Guide <ClockExpireTasks >`
583
+
584
+
562
585
clock trigger
563
586
Clock triggers connect cycle points to the :term: `wallclock time `, in
564
587
:term: `datetime cycling ` workflows. Tasks that depend on a clock trigger
@@ -839,8 +862,9 @@ Glossary
839
862
840
863
841
864
job
842
- Jobs are real processes that perform :term: `tasks <task> ` in a
843
- :term: `workflow `. In Cylc, they are implemented by :term: `job scripts
865
+ Jobs are the real processes that run on a computer to realise
866
+ :term: `tasks <task> ` in a :term: `workflow `. In Cylc, they are
867
+ implemented by :term: `job scripts
844
868
<job script> ` prepared by the :term: `scheduler `.
845
869
846
870
@@ -1195,8 +1219,9 @@ Glossary
1195
1219
1196
1220
:ref: `RemoteInit ` will be redone for each job platform, when the first job is submitted there after a reload.
1197
1221
1198
- Any :term: `task ` that is active at reload will continue with its
1199
- pre-reload configuration. It's next instance (at the next cycle point)
1222
+ Any :term: `task ` that is :term: `active <active task> ` at reload
1223
+ will continue with its pre-reload configuration.
1224
+ The next instance of the task (at the next cycle point)
1200
1225
will adopt the new configuration.
1201
1226
1202
1227
Reloading changes is safe providing they don't affect the
@@ -1346,10 +1371,18 @@ Glossary
1346
1371
* :ref: `Cylc User Guide <FamilyTriggers >`
1347
1372
1348
1373
1374
+ final task status
1375
+ finished task
1376
+ A finished task has achieved a final task status, i.e., expired,
1377
+ submit-failed, succeeded, or failed. Finished tasks cannot change
1378
+ state again except by manual intervention (e.g. by retriggering).
1379
+
1380
+
1349
1381
standard output
1350
1382
Every :term: `task ` has a set of standard :term: `outputs <task output> `
1351
1383
that trigger :term: `task state ` changes:
1352
1384
1385
+ - ``:expired` ``
1353
1386
- ``:submitted ``, or ``:submit-failed ``
1354
1387
- ``:started ``
1355
1388
- ``:succeeded ``, or ``:failed ``
@@ -1358,8 +1391,7 @@ Glossary
1358
1391
task output
1359
1392
Task outputs mark the progression of a :term: `task ` from waiting (for
1360
1393
prerequisites to be satisfied) through to success or failure at run
1361
- time. Downstream tasks can trigger off of the outputs of other tasks, as
1362
- determined by the :term: `graph `.
1394
+ time. Tasks can trigger off upstream task outputs in the :term: `graph `.
1363
1395
1364
1396
Outputs are written as ``task-name:output `` in the :term: `graph `, and can
1365
1397
be :term: `required <required output> ` or :term: `optional <optional output> `.
@@ -1381,6 +1413,30 @@ Glossary
1381
1413
foo => bar # means foo:succeeded => bar
1382
1414
1383
1415
1416
+ output completion
1417
+ output completion condition
1418
+ A task's outputs are *complete * if its *output completion condition *
1419
+ is satisfied.
1420
+
1421
+ The completion condition can be defined by the user, or otherwise
1422
+ it is automatically generated according to the rules:
1423
+
1424
+ - All :term: `required outputs <required output> ` (referenced in the graph)
1425
+ must be completed.
1426
+ - Or, if success is optional, then the outputs are complete if it fails.
1427
+ - Or, if submission is optional, then the outputs are complete if it
1428
+ submit-fails.
1429
+ - Or, if expiry is optional, then the outputs are complete if it expires.
1430
+
1431
+ Tasks that :term: `finish <finished task> ` with
1432
+ :term: `complete outputs <output completion> `
1433
+ have done their job, allowing the workflow to move on.
1434
+
1435
+ Tasks that finish with :term: `incomplete outputs <output completion> `
1436
+ are retained in :term: `n=0 <n-window> ` pending user
1437
+ intervention, and will :term: `stall ` the workflow.
1438
+
1439
+
1384
1440
dependence
1385
1441
dependency
1386
1442
Dependencies in the :term: `graph ` show how :term: `tasks <task> ` depend on
@@ -1510,38 +1566,26 @@ Glossary
1510
1566
required output
1511
1567
expected output
1512
1568
Task outputs that are not marked as :term: `optional <optional output> `
1513
- in the :term: `graph ` are required to be completed at runtime. If not, the
1514
- :term: `scheduler ` retains the task as :term: `incomplete ` pending user
1515
- intervention.
1569
+ in the :term: `graph ` must be completed at runtime. If a task
1570
+ :term: `finishes <finished task> ` without completing its required
1571
+ outputs, the :term: `scheduler ` will keep it in the
1572
+ :term: `n=0 window <n-window> ` pending user intervention.
1516
1573
1517
1574
.. seealso ::
1518
1575
1519
1576
* :ref: `Cylc User Guide <required outputs >`
1520
1577
1521
1578
1522
- incomplete
1523
- incomplete task
1524
- Incomplete tasks are :term: `tasks <task> ` that finish (succeed or fail)
1525
- without completing all :term: `required outputs <required output> `. They
1526
- are retained by the :term: `scheduler ` in the :term: `n=0 window
1527
- <n-window> ` pending user intervention, and will cause a :term: `stall `
1528
- if there are no more tasks to run.
1529
-
1530
- .. seealso ::
1531
-
1532
- * :term: `optional output `
1533
- * :ref: `Cylc User Guide <incomplete tasks >`
1534
-
1535
-
1536
1579
stall
1537
1580
stalled workflow
1538
1581
stalled state
1539
- If there are no more tasks to run according to the :term: `graph `, but
1540
- :term: `incomplete tasks <incomplete task> ` are present, the
1541
- :term: `scheduler ` will stall and stay up for a time instead of
1542
- shutting down with the workflow :term: `complete <workflow completion> `.
1582
+ In a stalled workflow, there is nothing more the scheduler can do,
1583
+ but it stays up for a while awaiting manual intervention because
1584
+ the presence of :term: `incomplete <output completion> ` tasks in
1585
+ the :term: `n=0 window <n-window> ` implies that the workflow has not successfully
1586
+ run to :term: `completion <workflow completion> `.
1543
1587
1544
- Stalls are usually caused by unexpected task failures:
1588
+ Stalls are usually, but not always, caused by unexpected task failures:
1545
1589
1546
1590
.. digraph :: Example
1547
1591
:align: center
@@ -1556,16 +1600,16 @@ Glossary
1556
1600
run, but ``bar:fail `` was not marked as an :term: `optional output `.
1557
1601
1558
1602
User intervention is required to fix a stall, e.g. by retriggering
1559
- incomplete tasks after fixing the problems that caused them to fail.
1603
+ tasks after fixing the problems that caused them to fail.
1560
1604
1561
1605
1562
1606
suicide trigger
1563
- Suicide triggers remove :term: `tasks <task> ` from the :term: ` scheduler's
1564
- <scheduler> ` active ( :term: `n=0 <n-window> `) window at runtime.
1607
+ Suicide triggers remove :term: `tasks <task> ` from the
1608
+ :term: `n=0 window <n-window> ` at runtime.
1565
1609
1566
1610
They are denoted by exclamation marks, and are triggered like normal
1567
1611
dependencies. For instance, the following suicide trigger will remove the
1568
- task ``bar `` from the active window if ``foo `` succeeds:
1612
+ task ``bar `` if ``foo `` succeeds:
1569
1613
1570
1614
.. code-block :: cylc-graph
1571
1615
@@ -1649,15 +1693,15 @@ Glossary
1649
1693
1650
1694
1651
1695
flow front
1652
- Active (submitted or running) tasks, i.e. tasks in the `` n=0 ``
1653
- :term: `active window `, with a common :term: `flow number ` comprise the
1654
- active front of that flow.
1696
+ :term: ` Active tasks <active tasks> ` , i.e. tasks in the
1697
+ :term: `n=0 window <n-window> `, with a common :term: `flow number `
1698
+ comprise the active front of the flow.
1655
1699
1656
1700
1657
1701
flow merge
1658
1702
When a :term: `flow ` tries to spawn a child task and finds an instance
1659
1703
with the same task ID already exists in the ``n=0 `` :term: `active
1660
- window `, the one active task will carry both flow numbers forward.
1704
+ window `, one merged task will carry both flow numbers forward.
1661
1705
1662
1706
1663
1707
event
@@ -1695,11 +1739,11 @@ Glossary
1695
1739
runahead limit
1696
1740
runahead
1697
1741
In a :term: `cycling workflow `, the runahead limit determines how far
1698
- ahead of the oldest :ref : `active cycle point ` the workflow is permitted
1742
+ ahead of the oldest :term : `active cycle point ` the workflow is permitted
1699
1743
to run.
1700
1744
1701
1745
The "oldest active cycle point" is the first cycle in the workflow to contain
1702
- any :term: `active tasks <active task> ` (e.g. running tasks).
1746
+ any :term: `active tasks ` (e.g. running tasks).
1703
1747
1704
1748
.. seealso ::
1705
1749
@@ -1709,12 +1753,12 @@ Glossary
1709
1753
1710
1754
1711
1755
workflow completion
1712
- A workflow is deemed complete if there are no more tasks to run,
1713
- according to the graph, and there are no :term: `incomplete task
1714
- <incomplete task> ` present .
1756
+ A workflow is complete if there are no more tasks to run according
1757
+ to the graph, and there are no :term: `incomplete <output completion> `
1758
+ tasks present in the :term: ` n=0 window <n-window> ` .
1715
1759
1716
- If the workflow is complete, the scheduler will automatically :term: ` shut
1717
- down <shutdown> `.
1760
+ If the workflow is complete, the scheduler will automatically
1761
+ :term: ` shut down <shutdown> `.
1718
1762
1719
1763
If there are no more tasks to run, but there are incomplete tasks
1720
1764
present, the scheduler will :term: `stall ` rather than shut down.
0 commit comments