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

parameters: expansion and inter-suite trigger graph syntax #2266

Open
hjoliver opened this issue May 6, 2017 · 5 comments
Open

parameters: expansion and inter-suite trigger graph syntax #2266

hjoliver opened this issue May 6, 2017 · 5 comments
Labels
Milestone

Comments

@hjoliver
Copy link
Member

hjoliver commented May 6, 2017

Attempts to do the above get failed by validation.

@hjoliver hjoliver added the bug label May 6, 2017
@hjoliver hjoliver added this to the soon milestone May 6, 2017
@matthewrmshin
Copy link
Contributor

@hjoliver Can you provide a quick suite.rc snippet to repeat?

@hjoliver hjoliver added bug? and removed bug labels May 8, 2017
@hjoliver
Copy link
Member Author

hjoliver commented May 8, 2017

(This was reported by Xiao at BoM).

This should work, but fails validation:

# many local tasks (<p>) all depend on the same remote task:
graph = foo<p><other::bar> => baz

But Xiao's example was more like this:

graph = foo<p><other::bar<p>> => baz

This should have the same effect as:

foo_p1<other::bar_p1> => baz
foo_p2<other::bar_p2> => baz
...

Maybe there's a use case for that. However this assumes the same parameter range and template in both suites. Use of two parameters would expand all-to-all (like foo<a> => bar<b> does) which I doubt would be what's wanted... but I suppose we could fail this unless the same parameter set is used with both the local and remote task name...

@arjclark
Copy link
Contributor

arjclark commented May 9, 2017

(assuming I remember correctly how the substitution in of the remote task works)

It's worth noting that this

# many local tasks (<p>) all depend on the same remote task:
graph = foo<p><other::bar> => baz

Is bad, as multiple polling tasks all polling the same remote is redundant, extra task proxies, dependencies etc. Better to have:

graph = foo<other::bar> => foo<p> => baz

so only one remote polling operation takes place for the one thing that is of interest.

@hjoliver
Copy link
Member Author

hjoliver commented May 9, 2017

@arjclark - that's a very good point. I'll inquire of Xiao as to her use case...

@arjclark
Copy link
Contributor

arjclark commented May 9, 2017

You mention in this bit:

But Xiao's example was more like this:

graph = foo<p><other::bar<p>> => baz

I suspect Xiao may have something along lines of:

graph = poll_memberN<other :: remote_memberN> => process_all_members

Which is less redundant but its better to have a dummy task in the remote suite to represent the whole family of things being finished. (though linearisation now being recorded in the suite db should hopefully mean we can poll family statuses via the cylc suite-state command in future)

@matthewrmshin matthewrmshin modified the milestones: soon, cylc-8.0.0 Aug 28, 2019
@oliver-sanders oliver-sanders changed the title Parameter expansion and inter-suite trigger graph syntax parameters: expansion and inter-suite trigger graph syntax Nov 29, 2019
@hjoliver hjoliver modified the milestones: cylc-8.0.0, cylc-8.x Aug 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants