<style type="text/css">
.highlight .hll
.highlight
.highlight .c
/* Comment */
.highlight .err
/* Error */
.highlight .k
/* Keyword */
.highlight .o
/* Operator */
.highlight .cm
/* Comment.Multiline */
.highlight .cp
/* Comment.Preproc */
.highlight .c1
/* Comment.Single */
.highlight .cs
/* Comment.Special */
.highlight .gd
/* Generic.Deleted */
.highlight .ge
/* Generic.Emph */
.highlight .gr
/* Generic.Error */
.highlight .gh
/* Generic.Heading */
.highlight .gi
/* Generic.Inserted */
.highlight .go
/* Generic.Output */
.highlight .gp
/* Generic.Prompt */
.highlight .gs
/* Generic.Strong */
.highlight .gu
/* Generic.Subheading */
.highlight .gt
/* Generic.Traceback */
.highlight .kc
/* Keyword.Constant */
.highlight .kd
/* Keyword.Declaration */
.highlight .kn
/* Keyword.Namespace */
.highlight .kp
/* Keyword.Pseudo */
.highlight .kr
/* Keyword.Reserved */
.highlight .kt
/* Keyword.Type */
.highlight .m
/* Literal.Number */
.highlight .s
/* Literal.String */
.highlight .na
/* Name.Attribute */
.highlight .nb
/* Name.Builtin */
.highlight .nc
/* Name.Class */
.highlight .no
/* Name.Constant */
.highlight .nd
/* Name.Decorator */
.highlight .ni
/* Name.Entity */
.highlight .ne
/* Name.Exception */
.highlight .nf
/* Name.Function */
.highlight .nl
/* Name.Label */
.highlight .nn
/* Name.Namespace */
.highlight .nt
/* Name.Tag */
.highlight .nv
/* Name.Variable */
.highlight .ow
/* Operator.Word */
.highlight .w
/* Text.Whitespace */
.highlight .mf
/* Literal.Number.Float */
.highlight .mh
/* Literal.Number.Hex */
.highlight .mi
/* Literal.Number.Integer */
.highlight .mo
/* Literal.Number.Oct */
.highlight .sb
/* Literal.String.Backtick */
.highlight .sc
/* Literal.String.Char */
.highlight .sd
/* Literal.String.Doc */
.highlight .s2
/* Literal.String.Double */
.highlight .se
/* Literal.String.Escape */
.highlight .sh
/* Literal.String.Heredoc */
.highlight .si
/* Literal.String.Interpol */
.highlight .sx
/* Literal.String.Other */
.highlight .sr
/* Literal.String.Regex */
.highlight .s1
/* Literal.String.Single */
.highlight .ss
/* Literal.String.Symbol */
.highlight .bp
/* Name.Builtin.Pseudo */
.highlight .vc
/* Name.Variable.Class */
.highlight .vg
/* Name.Variable.Global */
.highlight .vi
/* Name.Variable.Instance */
.highlight .il
/* Literal.Number.Integer.Long */
</style>
# Definition of the suite test.
suite test
edit ECF_INCLUDE "$HOME/course"
edit ECF_HOME "$HOME/course"
family f1
edit SLEEP 20
task t1
task t2
endfamily
endsuite
Or in python:
#!/usr/bin/env python2.5
import os
import ecflow
def create_family_f1():
f1 = ecflow.Family("f1")
f1.add_variable("SLEEP",20)
f1.add_task("t1")
f1.add_task("t2")
return f1
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() )
Let us have a quiz. Consider the following suite:
suite test
edit SLEEP 100
family f1
edit SLEEP 80
task t1
task t2
edit SLEEP 9
family g1
edit SLEEP 89
task x1
edit SLEEP 10
task x2
endfamily
endfamily
family f2
task t1
task t2
edit SLEEP 77
family g2
task x1
edit SLEEP 12
task x2
endfamily
endfamily
endsuite
What is the value of the variable SLEEP for:
node SLEEP test/f1/t1 ? /test/f1/t2 ? /test/f1/g1/x1 ? /test/f1/g1/x2 ? /test/f2/t1 ? /test/f2/t2 ? /test/f2/g2/x1 ? /test/f2/g2/x2 ?