Skip to content

Releases: cemc-oper/nwpc-message-client

v0.5.0

20 Oct 07:49
Compare
Choose a tag to compare

✨ 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

29 Jul 02:58
Compare
Choose a tag to compare

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 1

New 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

12 Mar 02:49
Compare
Choose a tag to compare

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

12 Mar 02:47
Compare
Choose a tag to compare

Breaking Changes

New command-line options for production

Redefine command-line options for production command. Including:

  • system
  • production-stream
  • production-type
  • production-name

Improvements

New command structure

Use command structures to avoid using global variables for options.

v0.2.0

15 Feb 04:46
Compare
Choose a tag to compare

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

15 Feb 02:13
Compare
Choose a tag to compare

First release to be used in operating systems.

New Features

Production message has been used in operation systems.

The following components are in use:

  • production command 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-client command to send ecflow_client messages.
  • A elasticsearch consumer for ecflow_client messages.