The way day/date attributes are used has changed. Recall how Recall day/date with time attributes:
Here the day/date act like a guard over the time. Hence the time is not considered until the day/date is free.
|
|
---|
In The definition below in ecflow 4.0 the definition below .X.X can produce unexpected runs.
This behaviour happens because time attributes are treated individually
an unexpected run of task t1, on Monday at 00:00
Code Block | ||
---|---|---|
|
...
| |
... family f1 day monday task t1 |
...
|
...
# runs Monday@00:00 and Monday@10.00 time 10:00 # time was set free on Sunday |
In ecflow
...
5.X.
...
X the day/date act like a guard over any other time attribute.
Hence the time is not considered until the day is free.
Code Block | ||
---|---|---|
| ||
...
family f1
day monday |
...
|
...
|
...
|
...
# |
...
Guards |
...
The behaviour in ecflow 4.0 happens because the time attribute are treated individually.
Here the time 10:00, was set free on Sunday.
(when time attributes are set free, they stay free, until re-queue.)
...
title | ecflow 4.0 |
---|
...
the time, until day/date is free task t1 time 10:00 # runs |
...
title | ecflow 4.0 |
---|
on Monday@10.00 |
However, both behave the same way for the following definition.
Code Block |
---|
... family f1 time 10:00 # |
...
set free on |
...
the sunday task t1 day monday # runs |
...
Monday@00:00 and |
...
Monday@10.00 |
Repeat with day/date
The behavior of day/date attribute under a repeat has changed from ecflow 4.0.
In ecflow 4.X, if task t1 took longer than 1-hour task t2 would not run.
In ecflow 5.0X, The day acts like a guard over the time.
The time is not set free, until Monday is free.
Hence this produces the expected results.
Code Block | ||
---|---|---|
| ||
...
family t1
day monday
task t1
time 10:00 # run on Monday @ 10:00 |
once the day monday is free on family f1, it stays free until the automatic re-queue caused by the parent repeat. The net effect being that task t2 will still run, even if we have strayed into Tuesday.
Code Block | ||
---|---|---|
suite s1
family f
repeat integer rep 0 1
| ||
Code Block | ||
| ||
... family f1 time 10:00 #day timemonday set free on Sunday. Stays free until re-queue task t1 day monday # runs Monday an midnight and Monday at 10.00 |
Hence in ecflow 5.0, in the following definition, the task will never run:
...
time 23:00 |
...
|
...
task |
...
t2
... |