The next step is to let ecflow_server know about your suite or to “load” the suite definition file.
This checks the file test.def and describes the suite to the ecflow_server.
This can be done in several ways, depending on how the suite was created.
Note |
---|
Choose between the two methods below, to avoid errors associated with loading suite definition twice. |
...
ecflow_client --load=test.
...
def
You will have already seen ecflow_client being used in head.h and tail.h include files.
Python¶
#!/usr/bin/env python2.
...
7
...
import os
import ecflow
...
print "Creating suite definition
...
"
...
defs
...
=
...
ecflow.Defs()
suite = defs.add_suite("test")
suite.add_variable("ECF_HOME", os.getenv("HOME") + "/course")
suite.add_task("t1")
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")
# To restore the definition from file
...
'test.def
...
' we can use:
...
# restored_defs = ecflow.Defs(
...
"test.def
...
")
If you called “defs.save_as_defs()
...
” the
...
file test.def will be written.
This can be loaded in the server as described earlier. (See Text)
try:
print "Load the in memory definition(defs) into the server
...
"
...
ci
...
=
...
ecflow.Client();
ci.load(defs)
except RuntimeError, e:
print "Failed: " + str(e);
#!/usr/bin/env python2.
...
7
...
import ecflow
...
try:
...
print
...
"
...
Loading definition in
...
'test.def
...
' into the server
...
"
...
ci = ecflow.Client();
...
ci.load("test.def")
...
# read definition from disk and load into the
...
server
...
except RuntimeError, e:
...
print "Failed: " + str(e);
If everything is OK, you should have defined a suite in the server.
Have a look in the window running the ecflow_server, and look at the log file
What to do:
- Load the definition file. Choose between loading as a text file, or using python api.
- If using python examine test.def and create the file client.py.
- Check the log file
> ecflow_client --delete=_all_
...
> ecflow_client --help
...
replace