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

Start paused or held, then manually trigger individual tasks #5912

Closed
hjoliver opened this issue Jan 10, 2024 · 4 comments
Closed

Start paused or held, then manually trigger individual tasks #5912

hjoliver opened this issue Jan 10, 2024 · 4 comments
Labels
could be better Not exactly a bug, but not ideal. superseded

Comments

@hjoliver
Copy link
Member

hjoliver commented Jan 10, 2024

See https://cylc.discourse.group/t/is-it-not-possible-to-trigger-a-task-while-paused/853

At the moment I think we have to use --hold-after=P with P earlier than the initial point.

Can we:

  • allow triggering of individual tasks when the workflow is paused
    and/or
  • new cylc play --hold-all option, to start with all tasks held (at least all initial tasks, and possibly all future tasks kind of like the way hold-after-point works)
@hjoliver hjoliver added small question Flag this as a question for the next Cylc project meeting. could be better Not exactly a bug, but not ideal. labels Jan 10, 2024
@hjoliver hjoliver added this to the 8.2.x milestone Jan 10, 2024
@oliver-sanders
Copy link
Member

oliver-sanders commented Jan 11, 2024

IMO this is sufficient:

cylc play --pause
cylc hold '*'
cylc play

@hjoliver
Copy link
Member Author

hjoliver commented Jan 12, 2024

Yeah I commented on that on the thread (before I saw your response here).

I think that's fine so long as users understand:

  • why it works
  • why that only holds the initial tasks, not future ones
  • and (relatedly) why cylc hold '*' seemingly does nothing at all most of the time if the workflow isn't started with --pause

All of which isn't exactly intuitively obvious to most users.

It's our usual problem, that the old Cylc 7 task pool, as inconsistent and un-justified as it was, happened to have enough pre-spawned tasks in it that cylc hold seemed to do what users would naively expect most of the time.

For the given use case (hold everything, and trigger a bunch of individual tasks without causing downstream action - during early workflow development) I don't think it would hurt to have a "hold all tasks" start up option.

@oliver-sanders oliver-sanders modified the milestones: 8.2.x, cylc-9, some-day Jan 24, 2024
@oliver-sanders
Copy link
Member

At present the best way to do this is using the "hold after cycle point" as this ensures that any tasks spawned by the triggered task are also held.

Documenting that intervention here: cylc/cylc-doc#739

With #5827 this issue will go away, so it's a simple hold all, trigger, release all.

If we're ok with this, suggest superseding with #5827

@hjoliver
Copy link
Member Author

hjoliver commented Jun 17, 2024

Hold-after-cycle-point is really not intuitive for this use case.

I think I'm OK with superseding this by #5827 so long was we can get cylc hold '*' done pretty soon (and documenting the current intervention is good). It's also partly superseded by #5963 pending resolution of that discussion.

@hjoliver hjoliver added superseded and removed small question Flag this as a question for the next Cylc project meeting. labels Jun 17, 2024
@hjoliver hjoliver removed this from the some-day milestone Jun 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
could be better Not exactly a bug, but not ideal. superseded
Projects
None yet
Development

No branches or pull requests

2 participants