A collector for ecflow using in NWPC.
nwpc-ecflow-collector contains two collectors:
- status collector: collect all task status in ecflow server.
- node collector: collect node status with node path in ecflow server.
Building ecFlow by ECMWF with python support before installing.
Download the latest release from github.
Install nwpc-workflow-model in vendor directory.
Then install nwpc_ecflow_collector:
pip install .
Run script ecflow_node_collector.py or ecflow_status_collector.py.
Run script nwpc_ecflow_collector/server/ecflow_collector_server.py.
nwpc-ecflow-collector docker uses nwpcc/ecflow:python image
which is build from ecflow-docker.
Please make sure you have this image before building.
Build docker image from project's root directory.
docker build --tag nwpcc/ecflow-collect:base -f nwpc-ecflow-collector/docker/base/Dockerfile --rm .
Run script ecflow_node_collector.py or ecflow_status_collector.py using docker run.
For example, use the following command to collect server status from ecflow server.
sudo docker run -v /some/path/to/conf:/etc/nwpc-ecflow-collector \
nwpcc/ecflow-collect:base \
ecflow_status_collector.py \
collect --owner=some_owner --repo=some_repo \
--host=some_host --port=some_port \
--config=/etc/nwpc-ecflow-collector/ecflow_status_collector.config.yml \
--disable-post --verbose
Build ecflow collector server.
docker build --tag nwpcc/ecflow-collect:server -f nwpc-ecflow-collector/docker/server/Dockerfile --rm .
Run ecflow collector server.
docker run --rm nwpcc/ecflow-collect:server
Default status config file path is /etc/nwpc-ecflow-collector/ecflow_status_collector.config.yml.
Default RPC target is [::]:50051 .