Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.


Code Block
task t1      # run on Monday @ 10:00
  day monday
  time 10:00



Code Block
task t1   # run on Monday @ 10:00
   date 05.08.2019
   time 10:00



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
titleecflow 4.X. Day/Date in hierarchy does not guard time attributes in children
...
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
titleecflow

...

5.0
...
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
titleecflow 5.0
...
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
titleecflow 5.0
...
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
 ...