Skip to content

pikhovkin/django-simple-health-check

Repository files navigation

django-simple-health-check

GitHub Actions PyPI PyPI - Python Version framework - Django PyPI - Django Version PyPI - License

Simple Django health check

Inspired by:

Installation

$ pip install django-simple-health-check

Use pip install django-simple-health-check[psutil] for using simple_health_check.checks.ps.* checks.

Quick start

  1. Install the package

  2. Add simple_health_check to your INSTALLED_APPS settings like this:

INSTALLED_APPS = [
    ...,
    'simple_health_check',
    ...,
]
  1. Add simple_health_check.urls to main urls.py:
from django.urls import path, include

urlpatterns = [
    ...,
    path('', include('simple_health_check.urls')),
    ...,
]
  1. Configure the readiness checks:
SIMPLE_HEALTH_CHECKS = {
    'simple_health_check.checks.migrations.Migrations': [
        dict(alias='default'),
        dict(alias='db2'),
    ],
    'simple_health_check.checks.db.Databases': None,

    # The simplest way to add your own check
    'your_package.path_to_checks.SomeCheck': {...} or [{...}, ...] or None,
}

by default

SIMPLE_HEALTH_CHECKS = {
    'simple_health_check.checks.migrations.Migrations': None,  # check all aliases
    'simple_health_check.checks.db.Databases': None,  # check all aliases
}

Built-in checks

A check Built-in/expected
simple_health_check.checks.db.Databases ✔️
simple_health_check.checks.migrations.Migrations ✔️
simple_health_check.checks.caches.CacheBackends ✔️
simple_health_check.checks.ps.DiskUsage ✔️
simple_health_check.checks.ps.MemoryUsage ✔️
simple_health_check.checks.dummy.DummyTrue ✔️
simple_health_check.checks.dummy.DummyFalse ✔️
emails
queues
storages

License

MIT