Open hjoliver opened 2 months ago
I'm reasonably sure that this is just a small code change, and it is a NIWA priority - in particular to alleviate the pain of our manual expire use cases - which currently entails an unnecessary wait for the future stall to happen - however, as shown above this is more general than that use case. Summary:
final-incomplete tasks created by manual output setting should be spawned into n=0, for visibility
(I think it was our intention that all final-incomplete tasks would be held in n=0) (I haven't thought of any downside to doing this)
This is correct.
This creates three final-incomplete tasks (i.e.,with final status and incomplete outputs) ahead of the flow:
On running this,
f1
will be final-incomplete and retained in the task poolf1
andf2
will be recorded as final-incomplete in the DBFinal-incomplete tasks are (supposed to be) retained in
n=0
as a safety net, for visibility and to eventually stall the workflow unless or until manually completed or removed. However, the stall itself just means the user has not dealt with the problem by the time the scheduler has run out of other things to do. Once the problem is apparent, the user should be able to respond appropriately in the moment, to prevent the future stall.To "fix" a final-incomplete task we can (+):
set
it to completionremove
itproblems
set
had never been done, and the task will run againsolutions
n=0
, for visibilitycylc remove
needs an option to "remember" the removal rather than erasing the historyn=0
task ahead of time has the same affect as doing it after the flow arrives