Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Uniform dependencies section in suite.rc #22

Merged
merged 1 commit into from
Aug 1, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 19 additions & 23 deletions src/appendices/suiterc-config-ref.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1159,40 +1159,25 @@ by right clicking on the suite in the db viewer. See
also :ref:`ConfiguringScheduling`.


[scheduling] ``->`` [[dependencies]] ``->`` graph
"""""""""""""""""""""""""""""""""""""""""""""""""

The dependency graph for a completely non-cycling suites can go here.
See also :ref:`GraphDescrip` below and :ref:`ConfiguringScheduling`, for graph
string syntax.

- *type*: string
- *example*: (see :ref:`GraphDescrip` below)

.. _GraphDescrip:

[scheduling] ``->`` [[dependencies]] ``->`` [[[\_\_RECURRENCE\_\_]]]
[scheduling] ``->`` [[dependencies]] ``->`` \_\_RECURRENCE\_\_
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

``__RECURRENCE__`` section headings define the sequence of cycle points for
which the subsequent graph section is valid. These should be specified in
The ``__RECURRENCE__`` defines the sequence of cycle points for
which the dependency graph is valid. These should be specified in
our ISO 8601 derived sequence syntax, or similar for integer cycling:

- *examples*:
- date-time cycling: ``[[[T00,T06,T12,T18]]]`` or ``[[[PT6H]]]``
- integer cycling (stepped by 2): ``[[[P2]]]``
- date-time cycling: ``T00,T06,T12,T18`` or ``PT6H``
- integer cycling (stepped by 2): ``P2``
- *default*: (none)


See :ref:`GraphTypes` for more on recurrence expressions, and how multiple
graph sections combine.


.. _GraphDescrip:
graphs combine.

[scheduling] ``->`` [[dependencies]] ``->`` [[[\_\_RECURRENCE\_\_]]] ``->`` graph
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

The dependency graph for a given recurrence section goes here. Syntax examples
The value should be a dependency graph the given recurrence. Syntax examples
follow; see also :ref:`ConfiguringScheduling` and :ref:`TriggerTypes`.

- *type*: string
Expand All @@ -1219,6 +1204,17 @@ follow; see also :ref:`ConfiguringScheduling` and :ref:`TriggerTypes`.
- *default*: (none)


[scheduling] ``->`` [[dependencies]] ``->`` graph
"""""""""""""""""""""""""""""""""""""""""""""""""

Implies a non-cycling suite, and same as ``R1 = ...``. The value should be a
dependency graph. See also :ref:`GraphDescrip` above and
:ref:`ConfiguringScheduling`, for graph string syntax.

- *type*: string
- *example*: (see :ref:`GraphDescrip` above)


[runtime]
---------

Expand Down
17 changes: 6 additions & 11 deletions src/external-triggers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,7 @@ cycle point value by one hour:
[[xtriggers]]
clock_1 = wall_clock(offset=PT1H):PT10S
[[dependencies]]
[[[P1D]]]
graph = "@clock_1 => foo"
P1D = "@clock_1 => foo"
[runtime]
[[foo]]
script = run-foo.sh
Expand All @@ -104,9 +103,8 @@ the ``[xtriggers]`` section:
[scheduling]
initial cycle point = 2018-01-01
[[dependencies]]
[[[P1D]]]
# zero-offset clock trigger:
graph = "@wall_clock => foo"
# zero-offset clock trigger:
P1D = "@wall_clock => foo"
[runtime]
[[foo]]
script = run-foo.sh
Expand Down Expand Up @@ -317,8 +315,7 @@ Here's an example echo trigger suite:
[[xtriggers]]
echo_1 = echo(hello, 99, qux=True, point=%(point)s, foo=10)
[[dependencies]]
[[[PT1H]]]
graph = "@echo_1 => foo"
PT1H = "@echo_1 => foo"
[runtime]
[[foo]]
script = exit 1
Expand Down Expand Up @@ -434,8 +431,7 @@ scheduling section:
[[special tasks]]
external-trigger = get-data("new sat X data avail")
[[dependencies]]
[[[P1]]]
graph = get-data => conv-data => products
P1 = get-data => conv-data => products

Then, each time a new dataset arrives the external detection system should
notify the suite like this:
Expand Down Expand Up @@ -475,8 +471,7 @@ message:
[[special tasks]]
external-trigger = get-data("data arrived for $CYLC_TASK_CYCLE_POINT")
[[dependencies]]
[[[T00]]]
graph = init-process => get-data => post-process
T00 = init-process => get-data => post-process

Once the variable-length waiting is finished, an external detection system
should notify the suite like this:
Expand Down
15 changes: 5 additions & 10 deletions src/running-suites.rst
Original file line number Diff line number Diff line change
Expand Up @@ -171,8 +171,7 @@ workflow by coding tasks that run the ``cylc checkpoint`` command:

[scheduling]
[[dependencies]]
[[[PT6H]]]
graph = "pre => model => post => checkpointer"
PT6H = "pre => model => post => checkpointer"
[runtime]
# ...
[[checkpointer]]
Expand Down Expand Up @@ -1229,8 +1228,7 @@ a remote suite called ``other.suite``:

[scheduling]
[[dependencies]]
[[[T00, T12]]]
graph = "my-foo<other.suite::foo> => bar"
T00, T12 = "my-foo<other.suite::foo> => bar"

Local task ``my-foo`` will poll for the success of ``foo``
in suite ``other.suite``, at the same cycle point, succeeding only when
Expand All @@ -1248,8 +1246,7 @@ configured if necessary under the local polling task runtime section:

[scheduling]
[[ dependencies]]
[[[T00,T12]]]
graph = "my-foo<other.suite::foo> => bar"
T00,T12 = "my-foo<other.suite::foo> => bar"
[runtime]
[[my-foo]]
[[[suite state polling]]]
Expand Down Expand Up @@ -1287,10 +1284,8 @@ at ``3,9,15,21``:

[scheduling]
[[dependencies]]
[[[T03,T09,T15,T21]]]
graph = "my-dog<other.suite::dog>"
[[[T00,T06,T12,T18]]]
graph = "my-dog[-PT3H] => cat"
T03,T09,T15,T21 = "my-dog<other.suite::dog>"
T00,T06,T12,T18 = "my-dog[-PT3H] => cat"

For suite-state polling, the cycle point is automatically converted to the
cycle point format of the target suite.
Expand Down
Loading