This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

Django Ping is utility that provides a lightweight endpoint for availability and uptime monitoring services. It also provides hooks for testing stack components and reporting them via JSON.

Installation

Use pip to download and install:

pip install django-ping

Add Django Ping to url conf:

url(r'^ping/', include('ping.urls')),

Basic Configuration

Hitting the endpoint returns a simple status 200 response. You can customize the message by adding to your Django settings:

PING_DEFAULT_RESPONSE = "All systems go!"
PING_DEFAULT_MIMETYPE = 'text/html'

Hitting the url:

/ping

displays:

All systems go!

Advanced Configuration

Enable Status Checks

Adding a checks=true parameter to the url tells Django Ping to run a series of status checks and reports the results.

For example:

/ping?checks=true

displays:

Your site is up!
db_sessions True
db_site True

By default, Django Ping tests that your Database is responding by using supplying two tests. You can supply your own tests to make sure everything is responding as expected. If you don’t use database sessions or the contrib.sites app, you can removed remove the ones you don’t need.

To customize, include a tuple in your Django settings:

PING_CHECKS = (
    'ping.checks.check_database_sessions',
    #'ping.checks.check_database_sites',
    'my_app.module.check_function',
    'my_other_app.some_module.some_function'
)

Specifying a fmt parameter to json returns more detailed and serialized data. For example:

/ping?fmt=json

displays:

{
    "db_sessions": true,
    "db_site": true
}

Custom Status Checks

Checks should accept the request object and return two values. The name/key to be displayed and the value of the check. The value should be anything that can be serialized.:

def check_sample(request):
    #...do some things...
    return 'foo', True
    #or
    return 'bar', float(123.456)
    #or even
    return 'baz', ['one', 'two', 'three', {'a':1, 'b':2, 'c':3}]

Then, add that to the PING_CHECKS tuple to display:

{
    'foo', true
}

Included Status Checks

Django Ping includes a few checks to test various components live.

check_database_sessions - Hits your database and attempts to retrieve a single session.

check_database_sites - Hits your database and attempts to retrieve a single site instance.

check_cache_set - Attempts to cache a value using the current cache backend defined.

check_cache_get - Attempts to retrieve a cached value using the current cache backend defined.

Authentication

You can require HTTP Basic authentication to access the ping endpoint, set PING_BASIC_AUTH to True in your Django settings.

Provide in the request the username/password of a valid User.

What’s Next?

Go sign up for a monitoring service or role your own.

https://www.pingdom.com/

http://www.panopta.com/

http://binarycanary.com/

Release History

Release History

0.2.0

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
django-ping-0.2.0.tar.gz (4.2 kB) Copy SHA256 Checksum SHA256 Source Dec 13, 2012

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting