Attributes cronrepeat day 1 and repeat date can be used to get a suite running in real time mode.

suite admin
  family times
    family mon10
      cron -w 1 10:00
      task dummy
        edit DELTA_DAY '-1'
        edit YMD '20160717'
        edit DOW '1'
    endfamily
    family mon22
      label info "/mofc/mon products and plots"
      cron -w 1 22:00
      task dummy
        edit DELTA_DAY '-1'
        edit YMD '20160717'
        edit LAST_YMD 21000101
        edit LAST_HMS 9999
        edit DOW '1'
    endfamily
    # ...
  endfamily
endsuite
suite user
family main
repeat YMD 19010101 20991201
task do
trigger /admin/times/mon22:LAST_YMD ge /user/main:YMD

node=/%SUITE%/%FAMILY%/%TASK%
%nopp
ecflow_client --alter change variable LAST_YMD "$(date +%Y%m%d)" $node
ecflow_client --alter change variable LAST_HMS "$(date +%H%M%S)" $node
%end


Be careful that cron may prevent an inherited repeat attribute to loop as expected. We use it with a complete attribute when we have to (Acquisition task pattern).


 suite mars
  repeat day 1
  family last
    task logfiles
      time 16:00
    task date
      complete ../stage eq complete and ../check eq complete and ../sapp eq complete and ../statistics eq complete
      edit ECF_TRIES '1'
      time 16:00
  endfamily
# ...

repeat is incremented once all families/tasks below are complete. A task with a time attibute will prevent the increment before a given time. In Catchup-mode, defstatus complete attribute will inhibit the time dependency


family main
  repeat date YMD 20151118 20201212 1
  family ref
    task dummy
      # defstatus complete # uncomment to shift to catchup-mode
      time 12:10
# ...