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.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75710a078bc03b39297f623a8698c292436607011e266e1a4d322fa9c94bb32b |
|
MD5 | ab4c019348b4bc534a48c102ec612d46 |
|
BLAKE2b-256 | f68ba38717e614653e0c37cd155176dcc0fa235409db908cffc0bee8b70fa440 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8363787ea10b7e71990e25261ec52cfc4275580f7b9400ca33810a324d10e961 |
|
MD5 | 935ec8b6f67a8d687972dfaf3606a149 |
|
BLAKE2b-256 | 282cfc3e7690563075c1f96cbec49db4fc14481eb99551f17d98e78ddca5a8e2 |