|
task t1 late -s +00:15 -a 20:00 -c +02:00 |
This is interpreted as: the node can stay submitted for a maximum of 15 minutes, and it must become active by 20:00 and the runtime must not exceed 2 hours.
For the purposes of this tutorial we will add a late attribute for the runtime only.
%include <head.h> sleep %SLEEP% %include <tail.h> |
Let us modify the suite definition file again
# 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 late -c +00:01 # set late flag if task take longer than a minute endfamily endfamily endsuite |
#!/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(0,1,True) # hour,minute,relative, set late flag if task take longer than a minute
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")
|