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

Universal suite/task/cycle delimiter (universal identifier) #3592

Closed
hjoliver opened this issue May 4, 2020 · 3 comments · Fixed by #3931
Closed

Universal suite/task/cycle delimiter (universal identifier) #3592

hjoliver opened this issue May 4, 2020 · 3 comments · Fixed by #3931
Assignees
Milestone

Comments

@hjoliver
Copy link
Member

hjoliver commented May 4, 2020

specification: cylc/cylc-admin#115

For suite/task IDs, the new hierarchical ID chosen by @dwsutherland for use in the back-end has nice properties but can't be used on the command line because the delimiter is the shell pipe character.

Supersedes #3542 - please refer to the discussion there. The general solution to this problem should support the original use case of that issue (allow dots in task names).

@dwsutherland
Copy link
Member

dwsutherland commented May 4, 2020

As mentioned in the superseded ticket; We may need to use a two character delimiter to satisfy
all constraints of shell/Cylc-Conf/datetime ...

@oliver-sanders
Copy link
Member

Proposal:

  • Use / as the separator (as originally intended) but use // to separate the flow from the cycle.
  • Support :<arg> as a state selector (e.g. the current cylc trigger flow *:failed).
# regular form (e.g. element ids in GraphQL schema)
[~user[/]]flow//cycle/task/job

# expanded form with selectors (e.g. CLI querying)
[~user[/]]flow[:state]//cycle[:state]/task[:state]/job[:state]

Examples (equivalent GraphQL arguments under current scheme)

# flow under account user (wid="user|flow")
~user/flow

# the task foo at all cycles in flow (wid="flow|*|foo")
flow//*/foo

# all running tasks in foo (wid="flow|*|*" state="running")
flow//*/*:running

# all running workflows (wid="*" state="running")
*:running

cylc-admin proposal PR: cylc/cylc-admin#115

@oliver-sanders oliver-sanders changed the title Universal suite/task/cycle delimiter? Universal suite/task/cycle delimiter (universal identifier) Jul 15, 2021
@oliver-sanders oliver-sanders modified the milestones: cylc-8.0.0, cylc-8.0b3 Jul 15, 2021
@oliver-sanders oliver-sanders self-assigned this Aug 4, 2021
@oliver-sanders
Copy link
Member

oliver-sanders commented Aug 4, 2021

Assigning myself, initially for phase 1 i.e. permitting the new syntax on the CLI.

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 a pull request may close this issue.

3 participants