-
Notifications
You must be signed in to change notification settings - Fork 94
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
cli: play|pause|stop #3897
Comments
Not sure why this didn't occur to us before, but
|
Update: the proposal is now a little out of date here is the current proposal for
There are two loose ends to tie up:
|
Do we want to keep an alias |
Nope, but we should add a "dead end" (see |
What happens to warm/cold starts? Am I right in thinking the concept of warm start disappears? Also, should the alias |
The desire is to get rid of warm starts, however, I'm not sure that we can do that right now. I think we should get rid of the aliases. |
Just to note down some further info Oliver sent me:
|
What's the difference between
From looking at the code & docs, they seem to be identical, in which case the |
Yep. In fact the command help says |
It's a much nicer interface, should we drop the |
Ah ok, so the concept of warm start stays but the cli option goes |
Does that mean I should get rid of:
|
(Although from the changelog, |
|
Should it be possible to hold tasks after a certain point, like it is possible to hold/pause a workflow after a certain point? Also, what are some good concrete example(s) of |
This is the Yep we want to keep that although it should be an argument of I've just noticed that the documentation for
How about this: # hold mytask at cycle 1234 in myflow
$ cylc hold myflow mytask.1234
# hold all tasks in cycle 1234 in myflow
$ cylc hold myflow '*.1234'
# hold all active instances of mytask in myflow
$ cylc hold myflow 'mytask.*' |
If a workflow has some held tasks (but not all, i.e. it is not paused), should running |
Do nothing, |
For Also, in line with the other aliases, should |
Also, if a workflow is paused, what should |
It should release the task which shouldn't run because the scheduler is "held". So the behaviour for the logical combinations of play/pause and hold/release would be: $ cylc install x
# start a Scheduler pre-paused
# (a.1 won't run because Scheduler paused)
$ cylc play --pause x
# hold task a.1
# (a.1 won't run because Scheduler paused and task held)
$ cylc hold x a.1
# un-pause the Scheduler
# (a.1 won't run because task held)
$ cylc play x
# release task a.1
# (a.1 will run)
$ cylc release x a.1 However, as you've noticed, that's not how things work at the moment. For now it's a good start just to separate the interfaces, we can fix the internals later, however, if you fancy taking a deeper dive it should be fairly straight forward to change the behaviour of the The tasks are actually submitted from somewhere in the |
Another thing: I suppose |
Yeah, it's all done by holding tasks at the moment, needs to be fixed. |
Question about final cycle point: say you have the workflow
Then you run:
In (2), nothing runs. Is this meant to happen? Tested on master, d6a09ba P.S., in (2), in the snipped bit (
Why so many warnings? |
In Cylc7 the workflow would pick up where it left off and continue to the configured FCP (i.e. 5). I think this is an SoD quirk perhaps caused by restarting with an empty task pool? Think that should go up as a bug. |
Ok, as discussed in our meeting, if that's a bug it can be fixed independently of #4040 |
I'm not so sure that's a bug! The workflow ran to completion at FCP=2. A restart starts from the previous recorded state, which was already "completed", so nothing will happen. It makes some sense to restart with an extended FCP if you haven't already run to completion, but not if you have. Also, what if you'd already run special tasks in the last cycle(s)? The only sensible way to do this kind of a "restart" would be to do warm start part-way through the new (extended) graph. |
Ah sorry, miss read, I thought the flow had been stopped before the fcp. After the |
I see, the real test of whether
Then
|
It wouldn't stop at point 5, because you told it to ignore the fcp. |
But the From
|
Just to seek some further clarity on that - the idea of " |
Not sure where the "pauses the workflow by holding all tasks" quote comes from? We would like |
That was my initial understanding of "pause" based on the pre-existing behaviour |
Actually, if pause does not hold tasks, how can we pause after a particular cycle point? (E.g. |
Rename the existing workflow lifecycle commands to match the rose suite-run migration proposal and implement the other CLI changes.
I.E. do what it says in the proposal under the following sections:
cylc play
--re-run
option - cylc play --re-run #3898cylc pause
cylc release
The text was updated successfully, but these errors were encountered: