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.an unexpected run of task t1, on Monday at 00:00
Code Block | ||
---|---|---|
| ||
... family f1 timeday 10:00monday # set free on Sunday task t1 day monday # runs Monday@00:00 and Monday@10.00 time 10:00 # time was set free on Sunday |
In ecflow 45.X.0 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 time, until day/date is free
task t1
time 10:00 # runs 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
...
Here the time 10:00, was set free on Sunday.
(when time attributes are set free, they stay free, until re-queue.)
Code Block | ||
---|---|---|
| ||
...
family f1
day monday
task t1
time 10:00 # runs Monday an midnight and Monday at 10.00 |
.
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
|
Code Block | ||
---|---|---|
| ||
...
family f1
time 10:00 # time 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 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 |
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
... |