...
Ecf Script
We will add a new task /test/f4/f5/t1.
Create new ecf script file $HOME/course/test/f4/f5/t1.ecf to use these variables.
Code Block | ||||
---|---|---|---|---|
| ||||
%include <head.h>
ecflow_client --label=info "My name is %NAME%" "My value is %VALUE%" "My date is %DATE%"
ecflow_client --label=date "Year:%DATE_YY% Month:%DATE_MM% Day:%DATE_DD% day of week:%DATE_DOW%" # generated variable's for repeat DATE
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"
edit ECF_HOME "$HOME/course"
family f4
edit SLEEP 2
repeat string NAME a b c d e f
family f5
repeat integer VALUE 1 10
task t1
repeat date DATE 20101230 20110105
label info ""
label date
endfamily
endfamily
endsuite |
Python
#!/usr/bin/env python2.7
import os
import ecflow
def create_family_f4():
f4 = ecflow.Family("f4")
f4.add_variable("SLEEP", 2)
f4.add_repeat( ecflow.RepeatString("NAME", ["a", "b", "c", "d", "e", "f" ] ) )
f5 = f4.add_family("f5")
f5.add_repeat( ecflow.RepeatInteger("VALUE", 1, 10) )
t1 = f5.add_task("t1")
t1.add_repeat( ecflow.RepeatDate("DATE", 20101230, 20110105) )
t1.add_label("info", "").add_label("date","")
return f4
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_f4() )
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
- Type in the changes
- Replace the suite definition
- How many times will /test/f4/f5/t1 run?
- In ecflow_ui , try to modify the values of a repeat
...