-
Notifications
You must be signed in to change notification settings - Fork 94
Group trigger #6395
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
base: master
Are you sure you want to change the base?
Group trigger #6395
Conversation
f17c360
to
60ae2e5
Compare
Note on changes to reference logs: group trigger causes triggering by satisfying prerequisites, rather than by direct triggering despite unsatisfied prerequisites ... so triggering now gets logged as (e.g.) |
dc67098
to
244d191
Compare
85cd3a1
to
a86dede
Compare
This comment was marked as resolved.
This comment was marked as resolved.
8805498
to
ea337a4
Compare
This comment was marked as resolved.
This comment was marked as resolved.
da19792
to
5eb4de7
Compare
Integrated xtrigger prerequisite setting. Tested with this: [scheduling]
[[xtriggers]]
xoff = xrandom(0) # never
[[graph]]
R1 = """
failer? => a => b & c => cleanup
failer:fail? => triggerer
off => c # off-group task prerequisite
@xoff => b # off-group xtrigger prerequisite
"""
[runtime]
[[failer, off]]
script = false
[[a, b, c]]
[[triggerer]]
script = "cylc trigger $CYLC_WORKFLOW_ID //1/a //1/b //1/c"
[[cleanup]]
script = "cylc remove $CYLC_WORKFLOW_ID//1/*:failed" From the log: ...
INFO - Command "force_trigger_tasks" received. ID=84ed8d79-e1f6-47c6-b55a-5cf53fb1e950
force_trigger_tasks(flow=[], flow_wait=False, on_resume=False, tasks=['1/a', '1/b', '1/c'])
INFO - [1/b:waiting(runahead)] prerequisite force-satisfied: xoff = xrandom(0)
INFO - [1/c:waiting(runahead)] prerequisite force-satisfied: 1/off:succeeded
INFO - [1/a:waiting(runahead)] prerequisite force-satisfied: 1/failer:succeeded
INFO - [1/a:waiting(runahead)] => waiting
INFO - [1/b:waiting(runahead)] => waiting
INFO - [1/c:waiting(runahead)] => waiting
INFO - Command "force_trigger_tasks" actioned. ID=84ed8d79-e1f6-47c6-b55a-5cf53fb1e950
... |
d888397
to
babcc14
Compare
commit efe0a744ce3acf2e33344cc81ea039565b10a171 Author: Hilary James Oliver <hilary.j.oliver@gmail.com> Date: Tue Apr 8 02:50:47 2025 +0000 Remove an unused method. commit e8a17d85ff8efe6ce166d4b6dc49b7786d10da69 Author: Hilary James Oliver <hilary.j.oliver@gmail.com> Date: Tue Apr 8 02:48:22 2025 +0000 Update change log. commit 91e09f2 Author: Hilary James Oliver <hilary.j.oliver@gmail.com> Date: Tue Apr 8 01:27:18 2025 +0000 Update a func test. commit cbc1050 Merge: 0d9e089 50980d5 Author: Hilary James Oliver <hilary.j.oliver@gmail.com> Date: Tue Apr 8 12:58:28 2025 +1200 Merge branch 'master' into group-trigger commit 0d9e089 Author: Hilary James Oliver <hilary.j.oliver@gmail.com> Date: Tue Apr 8 00:50:54 2025 +0000 Add new unit test. commit 3668abe Author: Hilary James Oliver <hilary.j.oliver@gmail.com> Date: Tue Apr 8 08:45:41 2025 +1200 Minor tweaks. commit c522859 Author: Hilary James Oliver <hilary.j.oliver@gmail.com> Date: Tue Apr 8 08:37:14 2025 +1200 Tweak change log entry. commit 7efc653 Author: Hilary James Oliver <hilary.j.oliver@gmail.com> Date: Mon Apr 7 17:45:06 2025 +1200 Post merge fix. commit b002426 Merge: 3c68193 9ed2014 Author: Hilary James Oliver <hilary.j.oliver@gmail.com> Date: Mon Apr 7 03:29:05 2025 +0000 Merge branch 'master' into group-trigger commit 3c68193 Author: Hilary James Oliver <hilary.j.oliver@gmail.com> Date: Mon Mar 31 09:59:42 2025 +1300 Tidy code. [skip ci] commit 9445328 Author: Hilary James Oliver <hilary.j.oliver@gmail.com> Date: Fri Mar 28 17:03:03 2025 +1300 Squashed commit of group-trigger development. Tweak group trigger. tweak
59a87e4
to
2a68d89
Compare
TODO:
|
005f754
to
db85246
Compare
Done. |
Looks like something is going consistently wrong with 3.7? |
All tests passed on rerun today - maybe you just need to reload your browser to show up to date results? |
[UPDATED and refactored post
informalagreement on the proposal]Major change to manual trigger behaviour: instead of running all target tasks immediately despite unsatisfied prerequisites, trigger them as a group that respects in-group dependencies and ignores off-group prerequisites that would cause a stall.
This is an easier way to (re)run a sub-graph when all the tasks can easily be identified - no need to manually identify sub-graph start tasks to trigger and/or set off-flow prerequisites.
(Amazingly, this should not be a breaking change for any sensible
cylc trigger
use cases).High level implementation (see the the proposal for details):
Example from the proposal, tweaked to run automatically via a stall handler:
CONTRIBUTING.md
and added my name as a Code Contributor.setup.cfg
(andconda-environment.yml
if present).?.?.x
branch.