Skip to content

Conversation

oliver-sanders
Copy link
Member

@oliver-sanders oliver-sanders commented Sep 4, 2025

Improve broadcast documentation and cover the broadcast expiry change in cylc/cylc-flow#6964

Requirements check-list

  • I have read CONTRIBUTING.md and added my name as a Code Contributor.

@oliver-sanders oliver-sanders added this to the 8.6.x milestone Sep 4, 2025
@oliver-sanders oliver-sanders self-assigned this Sep 4, 2025
@oliver-sanders oliver-sanders marked this pull request as ready for review September 4, 2025 16:00
Copy link
Member

@hjoliver hjoliver left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good, a few minor changes suggested.

* Quickly developing tasks without having to
:ref:`edit and reload the workflow configuration <interventions.edit-the-workflow-configuration>`.
* Sending small amounts of data from task to another (e.g. file paths).
* Orchestrating production workflows from an external system.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you explain what you mean a bit here?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As a minimal example, our opps broadcasts HPC reservations into the workflows.

Broadcasts can enable a higher level monitoring / control system to reconfigure Cylc workflows on the fly.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK I think it might be good to say that in the docs. "Orchestrating production workflows from an external system" is going to sound intriguing to certain users, but they won't understand what it means IMO

Copy link
Member

@hjoliver hjoliver left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few more tweaks suggested.

Expiry Point
^^^^^^^^^^^^

Broadcasts are only expired after they are no longer required by tasks.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Broadcasts are only expired after they are no longer required by tasks.
Broadcasts expire once are they are no longer required by upcoming tasks.

"Upcoming tasks" is clearer, and more justifiable (past tasks that haven't been re-triggered yet are not yet "upcoming").

:term:`active tasks <active task>`.
* The longest cycling :term:`recurrence` in the workflow.

Broadcasts which are older than the oldest cycle point to contain active tasks
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Broadcasts which are older than the oldest cycle point to contain active tasks
Broadcasts which are older than the oldest :term:`active cycle point`

Comment on lines +123 to +125
Broadcast expiry does not occur while the workflow is paused. If you want to
broadcast to a historical cycle before re-running it, first pause the workflow,
then trigger the tasks, then resume the workflow, e.g:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Broadcast expiry does not occur while the workflow is paused. If you want to
broadcast to a historical cycle before re-running it, first pause the workflow,
then trigger the tasks, then resume the workflow, e.g:
However, broadcast expiry does not occur while the workflow is paused, so
you can pause the workflow, do the broadcast, trigger the tasks, and then
resume the workflow, e.g:

Starting the second paragraph with "However" makes it immediately clear that we have a solution to the stated problem.

Cylc Broadcast
==============

Cylc "Broadcasts" allow us to override task's :cylc:conf:`[runtime]`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Cylc "Broadcasts" allow us to override task's :cylc:conf:`[runtime]`
Cylc "Broadcasts" allow us to override task :cylc:conf:`[runtime]`

Comment on lines +60 to +61
Broadcasts can also be issued from the GUI in a similar way using the
"Broadcast" command.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Broadcasts can also be issued from the GUI in a similar way using the
"Broadcast" command.
Broadcasts can also be issued from the GUI in a similar way by choosing
"Broadcast" from the task menu.

Comment on lines +80 to +82
deleted) as the workflow moves on. Otherwise they would gradually accumulate
over the life of the workflow (note broadcasts are persisted when the workflow
restarts).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
deleted) as the workflow moves on. Otherwise they would gradually accumulate
over the life of the workflow (note broadcasts are persisted when the workflow
restarts).
deleted) as the workflow moves on, to avoid gradual accumulation
(note broadcasts are persisted when the workflow restarts).

Comment on lines +113 to +114
This arrangement has been designed such that broadcasts should always be
present for the previous instance of a task in case you want to re-run it.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This arrangement has been designed such that broadcasts should always be
present for the previous instance of a task in case you want to re-run it.
This is designed to keep broadcasts as far back as the previous instance
of each task, in case you want to re-run it.

@MetRonnie MetRonnie self-requested a review September 12, 2025 13:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants