...
Ecf Script
In the previous example, we have copied the file t1.ecf to the file t2.ecf.
Edit those two files so they call the unix sleep command with a variable
called SLEEP as a parameter.
Code Block | ||
---|---|---|
| ||
%include <head.h> echo "I will now sleep for %SLEEP% seconds" sleep %SLEEP% %include <tail.h> |
Text
Then add the variable to the suite definition:
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 f1
task t1
edit SLEEP 20
task t2
edit SLEEP 20
endfamily
endsuite |
Python
#!/usr/bin/env python2.7
import os
import ecflow
def create_family_f1():
f1 = ecflow.Family("f1")
f1.add_task("t1").add_variable("SLEEP", 20)
f1.add_task("t2").add_variable("SLEEP", 20)
return f1
print "Creating suite definition"
defs = ecflow.Defs()
suite = defs.add_suite("test")
suite.add_variable("ECF_INCLUDE", os.getenv("HOME") + "/course")
suite.add_variable("ECF_HOME", os.getenv("HOME") + "/course")
suite.add_family( create_family_f1() )
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
- Do the modifications
- Replace the suite
- Watch in ecflowview. You should see the tasks with a status active for 20 seconds
...