...
Horizontal Navigation Bar | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
Client Python Interface
The functionality provided by ecflow_client is also available via the Client Server API.
The python interface uses the same algorithm for determining the host and port,
and allows the host and port to be set explicitly. See class ecflow.Client
This is shown by the following python example:
Code Block | ||||
---|---|---|---|---|
| ||||
import ecflow try: # When no arguments specified uses ECF_HOST and/or ECF_PORT, # otherwise defaults to localhost:3141 ci = ecflow.Client() # inherit from shell variables ci.ping() # Explicitly set host and port using the same client # For alternative argument list see ecflow.Client.set_host_port() ci.set_host_port("machineX:4141") # actually set the host and port (change to your host and port) ci.ping() # Create a new client, Explicitly setting host and port. # For alternative argument list see ecflow.Client ci = ecflow.Client("oetzi:3444") # another server ci.ping() # Ping inlined ecflow.Client("polonius:4266").ping() except RuntimeError as e: print("ping failed: ", str(e)) |
What to do
If your ecflow_server was started with ecflow_start.sh and you want to use the shell
interface, then set ECF_HOST and ECF_PORT environment variables.
It should be noted that, if the server was started with ecflow_start.sh script
then the default “localhost:3141” will be incorrect.
e.g. in KSH
export ECF_HOST=<HOST> # as given when setting up ecflow server
export ECF_PORT=<PORT> # as given when setting up ecflow server
netstat can be used to determine the port number, If the server was started on your local machine,
Code Block | ||
---|---|---|
| ||
netstat -lnptu | grep ecflow_server |
Horizontal Navigation Bar | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...