Sometime it is very useful to see task specific information in ecFlowview.
and that can be updated using the child command ecf_client –label
# Definition of the suite test.
suite test
edit ECF_INCLUDE "$HOME/course"
edit ECF_HOME "$HOME/course"
family f1
edit SLEEP 20
task t1
meter progress 1 100 90
task t2
trigger t1 eq complete
event a
event b
task t3
trigger t2:a
task t4
trigger t2 eq complete
complete t2:b
task t5
trigger t1:progress ge 30
task t6
trigger t1:progress ge 60
task t7
trigger t1:progress ge 90
endfamily
family f2
edit SLEEP 20
task t1
time 00:30 23:30 00:30
task t2
day sunday
task t3
date 01.*.*
time 12:00
task t4
time +00:02
task t5
time 00:02
endfamily
family f3
task t1
label info ""
endfamily
endsuite
The following section shows how to add a ecflow.Label in python:
#!/usr/bin/env python2.5
import os
import ecflow
def create_family_f3():
f3 = ecflow.Family("f3")
t1 = f3.add_task("t1")
t1.add_label("info","");
return f3
defs = ecflow.Defs("test.def")
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_f3() )
We now need to edit the ecf script file $HOME/course/test/f3/t1.ecf:
%include <head.h>
n=1
while [[ $n -le 5 ]] # Loop 5 times
do
msg="The date is now $(date)"
ecf_client --label=info "$msg" # Set the label
sleep 60 # Wait a one minute
(( n = $n + 1 ))
done
ecf_client --label info "I have now finished my work."
%include <tail.h>
What to do:
- Modify the suite definition file or python script
- Edit the new ecf script
- Load the suite definition file and begin the suite
- Watch in ecFlowview