Releases: cemc-oper/nwpc-message-client
v0.5.0
✨ New Features
Options for RabbitMQ
Add exchange name and route key name options for all commands. See #5 .
Add try number for broker
Message can be sent to the broker multiple times if failed.
Add ECF_DATE
Support environment variable ECF_DATE in ecflow client message.
🎨 Changes
Change index for ecflow client message
ecflow indexes are ecflow-client-YYYY-MM-DD in ElasticSearch.
Get IP address for HPC
Use getent to get IP address of broker for parallel jobs.
🚀 Deploy
Trial ecFlow client message
Trial ecFlow client message in three systems.
Supporting systems:
- service_checker
- system_checker
Operation systems:
- globalchartos
v0.4.0
New Features
New production message: eps
Add a new production type message for GRAPES GEPS and GRAEPS REPS.
message body:
{
"app": "nwpc-message-client",
"type": "production",
"time": "2020-07-29T11:00:54.4846745+08:00",
"data": {
"system": "grapes_geps",
"stream": "eps",
"type": "grib2",
"name": "orig",
"start_time": "2020-03-05T00:00:00Z",
"forecast_time": "0h",
"number": 1,
"event": "storage",
"status": 0
}
}message command:
nwpc_message_client production \
--system grapes_geps \
--production-stream eps \
--production-type grib2 \
--production-name orig \
--event storage \
--rabbitmq-server=${RABBITMQ_ADDRESS} \
--start-time 2020030500 \
--forecast-time 0h \
--number 1New message: predict
Add a new message type predict for prediction message created by nwpc-log-tool project.
{
"app": "check_grapes_meso_3km",
"type": "predict.forecast_output",
"time": "2020-07-28T04:57:20.032583Z",
"data": {
"start_time": "2020-07-28T00:00:00",
"request": {
"forecast_time": "P0DT18H0M0S",
"valid_time": "2020-07-28T18:00:00"
},
"current": {
"forecast_time": "P0DT18H10M28S",
"valid_time": "2020-07-28T18:10:28",
"ctime": 36.504671666666745
},
"model": {
"type": "linear",
"coef": 113.23712658532165,
"intercept": 205.07699078383735
},
"predict": {
"total": {
"forecast_time": "P1DT12H0M0S",
"ctime": 71.36022579759029
}
},
"system": "grapes_meso_3km"
}
}New command: send raw message
Add a new subcommand message for raw message.
nwpc_message_client message \
--exchange-name="nwpc.operation.predict" \
--route-key-name="grapes_meso_3km.predict.forecast_output" \
--message-body="$(cat ${output_file_path})" \
--rabbitmq-server=${NWPC_MESSAGE_CLIENT_RABBITMQ_ADDRESS}Improvements
Stop when messages in cache are too many
If messages in cache are more than 10 * consumer.BulkSize, the consumer will throw an error.
v0.3.1
Bugfix
🐛 change cmd into commands.
Deploy
🚀 Deploy to current systems including:
- grapes_gfs_gmf_post
- grapes_meso_10km_post
- grapes_meso_3km_post
- grapes_tym_post
v0.3.0
Breaking Changes
New command-line options for production
Redefine command-line options for production command. Including:
systemproduction-streamproduction-typeproduction-name
Improvements
New command structure
Use command structures to avoid using global variables for options.
v0.2.0
Changes
Production message has new content.
Since v0.2.0, production message has new keys stream and product, and ProductionData is replaced by multiply structs according to production type.
In future releases, options for production command will be changed.
v0.1.0
First release to be used in operating systems.
New Features
Production message has been used in operation systems.
The following components are in use:
productioncommand to send production messages.- A consumer to receive and print messages.
- A elasticsearch consumer for production message.
Eclfow-client message is under construction.
The following components are not in use:
ecflow-clientcommand to send ecflow_client messages.- A elasticsearch consumer for ecflow_client messages.