Trigger all install_* tasks in cycle point?

hey,

i want to trigger all tasks (active and otherwise) in the (only) active cycle point in my workflow which begin with install_.

i see from the help that using globs should work but only matches active tasks…

   Globs (note: globs should be quoted and only match active tasks):
        # Match any the active task "foo" in all cycles
        '//*/foo'

that said, i can’t get any to work without putting in the full name of the task.

none of these work…

> cylc tr u-cy032/run41//19780901T0000Z/install_*
> cylc tr 'u-cy032/run41//19780901T0000Z/install_*'
> cylc tr u-cy032/run41//'19780901T0000Z/install_*'
> cylc tr u-cy032/run41//'19780901T0000Z/install_\*'
> cylc tr u-cy032/run41//'19780901T0000Z/install_\*' --flow=none

is this possible or am i chasing a red herring?!

thanks,

jonny

i managed this awful hack but would be interesting to know if there is a better way…

for i in $(cylc list -p 19780901T0000Z,19780901T0000Z u-cy032|grep install_)
    do cylc tr u-cy032//$i --flow=none
done

Nice, not an awful hack at all :slight_smile:

Yes the problem is your tasks are not present in the active window of the graph (being in an “active cycle point” does not suffice).

We don’t (yet?) support pattern-matching non-active tasks because it’s more difficult and potentially dangerous. E.g. in an infinite workflow (no final cycle point) attempting to trigger tasks */* might cause the entire universe to collapse into a black hole.

(I think we are likely to support it in some way in the near future, but perhaps not for cycle points).

3 Likes

ok cool thanks for that @hilary.j.oliver; makes sense! avoiding the end of the world is probably a good idea!

(I think we are likely to support it in some way in the near future, but perhaps not for cycle points).

ah nice, will be interesting to see how this develops. i’ve used wildcards/globbing in workflows before and it’s been super helpful.

cheers,

jonny

ps - pleased you didn’t think my hack was too bad :laughing:

1 Like

This is one thing that (depending) was a bit easier in Cylc 7. It also only matched in the “task pool”, but the task pool contained a lot of pre-spawned waiting tasks, and past succeeded tasks, that are (by Cylc 8 standards) no longer needed.

1 Like

ok cool, must admit i don’t really know much (anything?) about the task pool so that’s some homework to do…

cheers

Don’t bother, it doesn’t matter in Cylc 8 :slight_smile:

(In Cylc 8 the nearest thing is just “active tasks”, which is much more intuitive: literally active, plus a few waiting tasks that are being actively managed by the scheduler for reasons such as a clock-trigger).

2 Likes

ok cool.

… plus a few waiting tasks that are being actively managed by the scheduler…

are these in addition to the active cycle points that you can see in the UI views?

Not really. The UI shows:

  • active tasks (with a somewhat liberal take on the word “active” as flagged above)
  • plus other tasks out to N graph edges from the active tasks (default N=1)

The cycle points you see are whichever cycle points the aforementioned tasks happen to belong to.

1 Like

cool thanks @hilary.j.oliver