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
Proposal for putting "special task" config in the graph. #1364
Comments
I like the graph solution. |
The only thing against moving clock triggering into the graph that I can immediately think of is that we'll go from one entry to N, where N is the number of graph sections foo appears in. Potentially, this becomes a bit of a maintenance nuisance but could be got round with Jinja2 variables. I suspect the result might end up something like:
|
@dpmatthews has pointed out that the above could be reduced down to:
|
While we're looking into clock triggering etc. it might also be useful to one day have this kind of triggering:
where bar is triggered 1 hour after foo has finished. Of course, at the moment we can just do:
I've seen one case of this where it has been necessary to stagger tasks like this due to timings and limitations in downstream systems but could prove useful for others. |
Can we lowercase |
What about |
yes.
I'm not sure it's a good idea to have it look like a shell variable? |
That's the idea, as it can be considered a built-in cylc graph variable. |
[meeting]
|
In
[scheduling][[special tasks]]
special behaviour is bestowed upon members of a list of task names, each name with the "special" configuration parameters (if any) attached to it. This works OK for sequential tasks, which have no configuration parameters; and for clock-triggered tasks, which just take a short date-time offset string, but it's a very ungainly way to specify the much less concise external trigger messages of #1316.The problem could be solved by relaxing our separation of scheduling and runtime and declaring clock-triggers etc. under [runtime]. Special behaviour could then be inherited, although we already achieve that to some degree by allowing family names in special task declarations. I'm not expecting this to be a popular idea though!
Another solution could be to move external triggers (clock and external events) to special graph nodes, which would have the advantage of exposing all scheduling events to visualisation, something like this:
(the only subtlety here is that the clock trigger is still relative to the cycle point of the task that triggers off it, not absolute).
The text was updated successfully, but these errors were encountered: