Let us now see how our suite ran, type the following:
ecflow_client --get_state
If this is not the case, and you might see aborted.
Please check the location (directory) of your ecf script before referring to your instructor.
The job file created by the server is located in the same directory as the ecf script, and is named t1.job1.
Compare the files t1.ecf, head.h, tail.h and t1.job1.
The output of the job is located in the same directory as the ecf script, and is named t1.1.
Retrieving the suite definition
To retrieve the suite definition in a form that is parse-able, type:
ecflow_client --get
This can be done in a python script:
import ecflow try: ci = ecflow.Client() # create the client, will read ECF_HOST and ECF_PORT from environment ci.sync_local() # get server definition, by syncing with client defs ecflow.PrintStyle.set_style( ecflow.Style.DEFS ) # set printing to show structure print(ci.get_defs()) # print the returned suite definition except RuntimeError as e: print("Failed:",e)
To retrieve the suite definition and show state:
ecflow_client --get_state # show state, generated variables, expanded trigger expression, auto added externs ecflow_client --migrate # shows state as comments, used as check point format
In python this would be:
import ecflow try: ci = ecflow.Client() ci.sync_local() # retrieve server definition, by sync with client defs ecflow.PrintStyle.set_style( ecflow.Style.STATE ) # set printing to show structure and state, expanded trigger expression, generated variables print(ci.get_defs()) # print the returned suite definition ecflow.PrintStyle.set_style( ecflow.Style.MIGRATE ) # set printing to show structure and state, and node history print(ci.get_defs()) # print the returned suite definition except RuntimeError as e: print("Failed:", e)
To list just the node paths and states in python please see: How can I access the path and task states?
What to do
- Locate the job file and the output file
- Check results by retrieving the suite definition from the server