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 day monday task t1 |
...
|
...
|
...
# runs Monday@00:00 and Monday@10.00 |
...
time 10:00 # |
...
time was set free on |
...
The behaviour in ecflow 4.0 happens because the time attribute are treated individually.
Here the time 10:00, was set free on Sunday.
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 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.
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
... |