A compact asynchronous healthcheck using only the standard library
Project description
async-healthcheck
async-healthcheck
is a compact asynchronous health check library built using only the Python standard library. It provides a simple way to monitor the health of your application by checking the status of various synchronous and asynchronous functions.
Installation
You can install async-healthcheck
directly from PyPI:
pip install async-healthcheck
Usage
Here is a basic usage example:
from async_healthcheck import start_healthcheck
def sync_check():
# Perform some synchronous health check (e.g., check database connection)
return True
async def async_check():
# Perform some asynchronous health check (e.g., check API availability)
return True
async def main():
server = await start_healthcheck(
sync_callables=[sync_check],
async_callables=[async_check],
host="127.0.0.1",
path="/healthcheck",
port=8000,
)
# The server is now running and can be accessed at http://127.0.0.1:8000/healthcheck
if __name__ == "__main__":
import asyncio
asyncio.run(main())
In this example, start_healthcheck
starts a health check server that runs the provided synchronous and asynchronous checks when a GET request is made to the specified path (default is /healthcheck
). If all checks pass, it returns a 200 status code; if any check fails, it returns a 500 status code.
Testing
Tests are located in the tests
directory and can be run using the standard Python unittest module:
PYTHONPATH="async_healthcheck" poetry run python -m unittest discover -s tests
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
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 async_healthcheck-0.7.0.tar.gz
.
File metadata
- Download URL: async_healthcheck-0.7.0.tar.gz
- Upload date:
- Size: 6.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.9.19 Linux/6.5.0-1016-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7448a5a0731001352f2530b919fa922a7246c3bc093d3d4847d34f79569c562e |
|
MD5 | 9eb1774ac0d2b5e11dafd8aa346ca912 |
|
BLAKE2b-256 | 4193cb113cb293c97645a4f68cd51efb3d44375fdbb26c6e06a237bce397265f |
File details
Details for the file async_healthcheck-0.7.0-py3-none-any.whl
.
File metadata
- Download URL: async_healthcheck-0.7.0-py3-none-any.whl
- Upload date:
- Size: 7.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.9.19 Linux/6.5.0-1016-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ddb3610834b26ab86c7a7fcd63035f42f2734da339513b3b90bd7471eb172f21 |
|
MD5 | b060f2e5554705761fc23cc86bb0565c |
|
BLAKE2b-256 | 76fc1ac2dbfa9239f6048f18b9ba0e952b73a59aeaa7220fc9a8c3d52183292e |