Easily create an endpoint for health checks
Project description
Framework for adding an endpoint for health checks to your project.
- Source code
Quickstart
Install the app:
# settings.py INSTALLED_APPS = [ ... 'healthpoint' ] # If specified, this user is able to see the details for each # individual check in the endpoint. HEALTHPOINT_BASICAUTH_USERNAME = 'john' HEALTHPOINT_BASICAUTH_PASSWORD = 'doe' # If set to True authentication is required for executing the # health checks. HEALTHPOINT_AUTH_REQUIRED = True # urls.py urlpatterns = [ ... url(r'^', include('healthpoint.urls')), ]
Add a module named health.py to any of your apps. For example:
from datetime import timedelta from django.contrib.auth.models import User from django.utils import timezone from healthpoint.decorators import health_check @health_check def user_signup(): last_user = User.objects.last() time_since_last_signup = timezone.now() - last_user.date_joined # Return True/False, throw an exception, or return a tuple with a # detail message. return ( time_since_last_signup <= timedelta(days=1), "last signup was: {}".format(last_user.date_joined))
The health checks can be accessed via the /health/ endpoint:
It executes all health checks, and reports status 200 if all checks succeed, status 500 otherwise.
If a staff user is logged in, the endpoint reports the result for each individual check:
{ "success": {}, "error": { "myproject.myapp.health.user_signup": "Last signup was: 2017-10-29 08:45:51" } }
To provide more detail on the result, the @health_check can return a tuple (success:bool, detail:str). The detail message will be listed in the result.
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 details
Details for the file django-healthpoint-1.0.0.tar.gz
.
File metadata
- Download URL: django-healthpoint-1.0.0.tar.gz
- Upload date:
- Size: 7.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3bca2452d3f5fc9c8baa9a82e723b0cddcfd7ca00747041ebe24583c415ccdb |
|
MD5 | de3e0ce6180e412de14da8f0e132f4d9 |
|
BLAKE2b-256 | aa606171b18404c1937da73dae899a5dabd099dee24c2743a133ae9384ed5843 |