ecFlow's documentation is now on readthedocs!

Let us now see how our suite ran, type the following:


 ecflow_client --get_state
This command will retrieve the suite definition from the server, and show the status for each node.
Look at the task t1 if it is complete and the suite is complete then the run was successful.
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

  1. Locate the job file and the output file
  2. Check results by retrieving the suite definition from the server