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 ecflow 4.0 the The definition below can produce unexpected runs.
...
in ecflow 4.
...
Here the time 10:00, was set free on Sunday.
...
X.X can produce an unexpected run of task t1, on Monday at 00:00
Code Block | ||
---|---|---|
|
...
| |
... family f1 day monday task t1 |
...
|
...
|
...
# runs |
...
Code Block | ||
---|---|---|
| ||
... family f1 Monday@00:00 and Monday@10.00 time 10:00 # time was set free on Sunday. Stays free until re-queue task t1 day monday # runs Monday an midnight and Monday at 10.00 |
In ecflow 5.0, The day acts X.X the day/date act like a guard over the any other time attribute.
The Hence the time is not set free, until Monday considered until the day is free.
Hence this produces the expected results.
Code Block | ||
---|---|---|
| ||
... family t1f1 day monday # Guards the time, until day/date is free task t1 time 10:00 # runruns on Monday @ 10:00Monday@10.00 |
However, both behave the same way for the following definition.
Code Block | ||
---|---|---|
Code Block | ||
| ||
... family f1 time 10:00 # time set free on Sunday. Stays free until re-queuethe sunday task t1 day monday # runs Monday an midnightMonday@00:00 and Monday at 10Monday@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.
...
X,
...
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
family |
...
f1
|
...
|
...
|
...
day |
...
monday |
...
task t1 |
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
time 23:00 task |
...
t2
... |