Sometimes tasks don't run as expected, and we want to get notification when this is the case.
For this we use the late attribute.
A node can only have one late attribute. The late attribute only applies to a task. You can define it on a Suite/Family in which case it will be inherited. Any late defined lower down the hierarchy will override the aspect(submitted,active, complete) defined higher up.
   

Ecf Script

We will add a new task /test/f6/t1.
Create new ecf script file $HOME/course/test/f6/t1.ecf to use these variables.

 

%include <head.h>
sleep %SLEEP%
%include <tail.h>

 

Text

Let us modify the suite definition file again

# Definition of the suite test.
suite test
 edit ECF_INCLUDE "$HOME/course"
 edit ECF_HOME    "$HOME/course"

 family f6
     edit SLEEP 120
      late -c +00:01 # warn if task take longer than a minute
     endfamily
 endfamily
endsuite

 

Python

#!/usr/bin/env python2.7
import os
import ecflow  
    
def create_family_f6():
    f6 = ecflow.Family("f6")
    f6.add_variable("SLEEP", 120)
    t1 = f6.add_task("t1")

late = ecflow.Late()

        late.complete(ecflow.TimeSlot(0,1),True)

        t1.add_late(late)

       
    return f6
    
print "Creating suite definition"   
defs = ecflow.Defs()
suite = defs.add_suite("test")
suite.add_variable("ECF_INCLUDE", os.path.join(os.getenv("HOME"),  "course"))
suite.add_variable("ECF_HOME",    os.path.join(os.getenv("HOME"),  "course"))

suite.add_family( create_family_f6() )
print defs

print "Checking job creation: .ecf -> .job0"   
print defs.check_job_creation()

print "Saving definition to file 'test.def'"
defs.save_as_defs("test.def")

What to do

  1. Type in the changes
  2. Replace the suite definition
  3. Run the suite, you should see the task late flag set in ecflow_ui