Starting the suite

The ecf_start.sh script will automatically set up and start your ecflow_server.

If you started an ecFlow manually then your server will start in a halted state. In this case you you will have to “restart” your server before you can use it. In a halted state the server will not schedule any tasks.

Text

To check the status of the server, type the following at the unix prompt:

ecflow_client --stats

Examine the output. If the ecflow_server is halted you would restart with:

ecflow_client --restart

Once the ecflow_server is running you have to start the suite by typing:

ecflow_client --begin=test

Python

Restarting and begin’ing the suite can also be done with the Python API. Modify your client.py file and then run it.

Listing 10 $HOME/course/client.py
import ecflow

try:
    ci = ecflow.Client()
    ci.sync_local()  # get the defs from the server, and place on ci
    defs = ci.get_defs()  # retrieve the defs from ci
    if len(defs) == 0:
        print("No suites in server, loading defs from disk")
        ci.load("test.def")

        print("Restarting the server. This starts job scheduling")
        ci.restart_server()
    else:
        print("read definition from disk and replace on the server")
        ci.replace("/test", "test.def")

    print("Begin the suite named 'test'")
    ci.begin_suite("test")

except RuntimeError as e:
    print("Failed:", e)

What to do

  1. Restart the ecflow_server

  2. Begin the suite, python3 client.py