Skip to main content

Application that provides an API to check the status of some parts and some utilities like ping.

Project description

Version:
1.1.0
Status:
Production/Stable
Author:

José Antonio Perdiguero López

Django Status is a application for Django projects that provides an API to check the status of some parts and some utilities like ping requests.

Quick start

  1. Install this package using pip:

    pip install django-status
  2. Add PROJECT_PATH to your django settings module.

  3. Add status to your INSTALLED_APPS settings like this:

    INSTALLED_APPS = (
        ...
        'status',
    )
  4. Add Django-status urls to your project urls:

    urlpatterns = [
        ...
        url(r'^status/', include('status.urls')),
    ]

Check Providers

Django Status provides a mechanism to add new custom check functions through check providers. Each check provider will generate a new API method with an URL that uses the name of the provider. These functions must accept *args and **kwargs and will return a JSON-serializable object through json.dumps() method, for example a ping function:

def ping(*args, **kwargs):
    return {'pong': True}

By default Django status provides the follow checks:

Ping

A ping to application. URL: /api/ping

Code

Source code stats such as current active branch, last commit, if debug is active… URL: /api/code

Databases

Check if databases are running. URL: /api/databases

Databases stats

Show stats for all databases. URL: /api/databases/stats

Caches

Check if caches are running. URL: /api/caches

Celery

Check if celery workers defined in settings are running. URL: /api/celery

Celery stats

Show celery worker stats. URL: /api/celery/stats

Settings

STATUS_CHECK_PROVIDERS

List of additional check providers. Each provider consists in a tuple of name, function complete path, args and kwargs. Example:

STATUS_CHECK_PROVIDERS = (
    ('test', 'application.module.test_function', [1, 2], {'foo': 'bar'}),
)

Default:

STATUS_CHECK_PROVIDERS = ()

STATUS_CELERY_WORKERS

List of hostname from celery workers to be checked. Default:

STATUS_CELERY_WORKERS = ()

Changes

v1.1.0 - 6/04/2016
  • Add source code stats.

v1.0.5 - 20/01/2016
  • Fix setup.py problems with requirements file.

v1.0.4 - 14/12/2015
  • Fix setup.py problems with utf-8 files.

v1.0.3 - 14/10/2015
  • Fix checkers for celery and celery stats. Now displays if a worker isn’t running.

v1.0.2 - 14/10/2015
  • Update README and meta info.

v1.0.0 - 14/10/2015
  • Database check.

  • Database stats.

  • Cache check.

  • Celery check.

  • Celery stats.

  • First stable version.

v0.1.0 - 8/10/2015
  • Initial release.

Project details


Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page