Skip to main content

Check health of static, long running applications using generated files.

Project description

file-healthchecker

Use this application to monitor your long running "non-web" application's health check.

Build Status

Installation

pip

pip install file-healthchecker

Use Case

Lets say we have a service which needs to perform some action every x-duration. In python-world we would simply run it inside a while loop and invoke it every x-minutes.

Now define an environment var ENV_HEALTH_CHECK_FILE which will represent a file creation in case the app is healthy. for e.g. export ENV_HEALTH_CHECK_FILE=/tmp/myapp.is.healthy

This following snippet will perform following tasks:

  • Every invocation of my_application will first remove a health-check file.
  • Run the application
  • NOTE: Raise an exception in case the application is failing. Handle it outside, as show in the given example.
  • If no exception is raised, the decorator will create a file defined by the env-var ENV_HEALTH_CHECK_FILE
from file_healthchecker import decorator_success
import time

@decorator_success
def my_application():
    ... doing lots of work
    ... more work
    # in case of failure, raise exception
    return True

if __name__ == "__main__":
    while True:
        try:
            my_application()
        except Exception:
            pass
        time.sleep(10)

With the installation another cmd-app also gets installed - checkhealth.

How to check application's health?

  • One can simply run ENV_HEALTH_CHECK_FILE=/tmp/myapp.is.healthy checkhealth at regular intervals or
  • pass this command to orchestrators like Nomad, Kubernetes, etc. as a part of their health-check commands.

Current Stable Version

0.1.0

Development Installation

  • Clone the project.
  • Now install the application in editable mode and you are ready to start development
$ pip install -e .

Test

To run the tests:

make test

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

file-healthchecker-0.1.1.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

file_healthchecker-0.1.1-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file file-healthchecker-0.1.1.tar.gz.

File metadata

  • Download URL: file-healthchecker-0.1.1.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0.post20191030 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.5

File hashes

Hashes for file-healthchecker-0.1.1.tar.gz
Algorithm Hash digest
SHA256 75710a078bc03b39297f623a8698c292436607011e266e1a4d322fa9c94bb32b
MD5 ab4c019348b4bc534a48c102ec612d46
BLAKE2b-256 f68ba38717e614653e0c37cd155176dcc0fa235409db908cffc0bee8b70fa440

See more details on using hashes here.

File details

Details for the file file_healthchecker-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: file_healthchecker-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 5.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0.post20191030 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.5

File hashes

Hashes for file_healthchecker-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8363787ea10b7e71990e25261ec52cfc4275580f7b9400ca33810a324d10e961
MD5 935ec8b6f67a8d687972dfaf3606a149
BLAKE2b-256 282cfc3e7690563075c1f96cbec49db4fc14481eb99551f17d98e78ddca5a8e2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page