##################
Liveliness Pinging
##################

The Stream Cache Server has the optional capability to send periodic REST-style HTTP calls indicating the current liveliness state to a configurable server. A base URL must be specified in the application settings. After the application has started, it will then issue HTTP POST calls with a URL as follows: *<base-url>/<id>?liveliness=<current-liveliness>*. The POST calls will contain an empty body.

The values for liveliness include:

* **ready:** Issued after the server has performed all internal initialization and is ready to stream data
* **ping:** Issued at periodic intervals specified by ``--liveliness-update-frequency``
* **disconnect:** Issued after the server has closed its websocket port and is about to shutdown

The capability can be used as follows:

#. Specify a unique ID with the ``--id`` setting: Example: ``--id=7766-affg``
#. Specify a base URL to receive the liveliness calls with the ``--liveliness-endpoint`` setting. As an example: ``--liveliness-endpoint=http://localhost:11082/server-status``
#. Specify a report frequency with ``--liveliness-update-frequency``. Example: to send an update every five seconds, use ``--liveliness-update-frequency=5.0``
#. Launch the Stream Cache Server application with those settings
#. Once the server has completed its internal initialization and is ready to stream data, it will issue a ready indication by issuing an empty HTTP POST to ``http://localhost:11082/server-status/7766-affg?liveliness=ready``
#. Every 5.0 seconds after that, until the server is about to exit, it will issue an empty HTTP POST to ``http://localhost:11082/server-status/7766-affg?liveliness=ping``
#. Finally, when the server is ready to exit, it will issue an empty HTTP POST to ``http://localhost:11082/server-status/7766-affg?liveliness=disconnect``
