Page History
Horizontal Navigation Bar | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Sometimes tasks don't run as expected, and we want to get notification when this is the case.
...
Ecf Script
We will add a new task /test/f6/t1.
Create new ecf script file $HOME/course/test/f6/t1.ecf for which we want to be late.
Code Block | ||||
---|---|---|---|---|
| ||||
%include <head.h> echo "I will now sleep for %SLEEP% seconds" sleep %SLEEP% %include <tail.h> |
Text
Let us modify the suite definition file again
Code Block |
---|
# Definition of the suite test. suite test edit ECF_INCLUDE "$HOME/course" # replace $HOME with the path to your home directory edit ECF_HOME "$HOME/course" family f6 edit SLEEP 120 task t1 late -c +00:01 # set late flag if task take longer than a minute endfamily endsuite |
Python
Code Block | ||||
---|---|---|---|---|
| ||||
#!/usr/bin/env python2.7 import os |
from ecflow import Defs,Suite,Family,Task,Edit,Trigger,Complete,Event,Meter,Time,Day,Date,Label, \ |
|
|
|
RepeatString,RepeatInteger,RepeatDate,InLimit,Limit |
|
def create_family_f6() : late = |
Late() |
late.complete(0,1,True) # hour,minute,relative, set late flag if task take longer than a minute |
return |
Family("f6", |
|
|
|
|
|
|
|
Edit(SLEEP=120), Task("t1",late)) print "Creating suite definition" home = os.path.join(os.getenv("HOME"), |
"course") |
defs = Defs( Suite("test", |
Edit(ECF_INCLUDE=home,ECF_HOME=home), create_family_f6() |
)) print(defs) |
("Checking job creation: .ecf -> .job0" |
(defs.check_job_creation()) print("Checking trigger expressions") assert len(defs.check()) == 0,defs.check() print("Saving definition to file 'test.def'") defs.save_as_defs("test.def") |
What to do
- Type in the changes
- Replace the suite definition
- Run the suite, you should see the task late flag set in ecflow_ui
...