contrib ======= `psutil` -------- Full disks and out-of-memory conditions are common causes of service outages. These situations can be averted by checking disk and memory utilization via the `psutil` package: .. code:: pip install psutil Once that dependency has been installed, make sure that the corresponding Django app has been added to `INSTALLED_APPS`: .. code:: python INSTALLED_APPS = [ # ... 'health_check', # required 'health_check.contrib.psutil', # disk and memory utilization; requires psutil # ... ] The following default settings will be used to check for disk and memory utilization. If you would prefer different thresholds, you can add the dictionary below to your Django settings file and adjust the values accordingly. If you want to disable any of these checks, set its value to ``None``. .. code:: python HEALTH_CHECK = { 'DISK_USAGE_MAX': 90, # percent 'MEMORY_MIN' = 100, # in MB } `celery` -------- If you are using Celery you may choose between two different Celery checks. `health_check.contrib.celery` sends a task to the queue and it expects that task to be executed in `HEALTHCHECK_CELERY_TIMEOUT` seconds which by default is three seconds. You may override that in your Django settings module. This check is suitable for use cases which require that tasks can be processed frequently all the time. `health_check.contrib.celery_ping` is a different check. It checks that each predefined Celery task queue has a consumer (i.e. worker) that responds `{"ok": "pong"}` in `HEALTHCHECK_CELERY_PING_TIMEOUT` seconds. The default for this is one second. You may override that in your Django settings module. This check is suitable for use cases which don't require that tasks are executed almost instantly but require that they are going to be executed in sometime the future i.e. that the worker process is alive and processing tasks all the time. You may also use both of them. To use these checks add them to `INSTALLED_APPS` in your Django settings module. `cache` ------- The key `djangohealtcheck_test` will be written to the cache backend to validate that the cache is working. The name of the key can be customized by setting `HEALTHCHECK_CACHE_KEY` to another value.