ecFlow学习笔记02.2.5 —— 理解客户端
目录
该教程的最新版已发布在GitHub上,请访问ecflow-tutorial-cn
这是 ecFlow 教程的一部分,完整教程请参看《ecFlow学习笔记02 —— 教程》
- *所有与 ecflow_server 的通讯都需要通过 ecflow_client。任何与服务器的通讯都需要知道服务器的地址和端口。同一台主机中可能运行多个服务,每个服务都有唯一的端口号。
本教程将会给出通过 shell 和在Python 脚本中使用客户端的例子。
客户端命令行接口
客户端命令的列表:
上面提到过,使用 ecflow_client 与服务器通讯需要设置 host 和 port,如下方法确定:
默认主机和端口为:localhost:3141
默认值被 ECF_NODE 和 ECF_PORT 环境变量覆盖
环境变量被命令行参数 –port 和 –host 覆盖,并且可以用于 -help参数显示的任意shell层命令。
例如在命令行 ping 一个服务可以输入命令:
客户端 Python 接口
ecflow_client 提供的功能可以通过 Client Server API 实现。Python 接口使用相同的算法确定 host 和 port,允许显式设定 host 和 port。参看 ecflow.Client
下面给出 python 的示例
需要做什么
如果你的 ecflow_server 是用 ecflow_start.sh 启动的,并且需要用到 shell 接口,那么请设置 ECF_NODE 和 ECF_PORT 环境变量。请注意,如果服务器通过 ecflow_start.sh 脚本 启动,那么默认的服务地址 “localhost:3141” 就不正确。
如果服务运行在本地主机上,可以使用 netstat 确定端口号。
输出