Skip to main content

A distributed lock

Project description

django-distributedlock

A django app for functions or tasks that needs distributed lock, e.g. for management commands that used in cron jobs

Instalation

Install with pip in your environment:

$ pip install django-distributedlock

Add in your settings.py in INSTALLED_APPS

INSTALLED_APPS = (
...
'distributedlock',
...
)

django-distributedlock can be work with django cache or a database model, you must to set the client in the variable DISTRIBUTEDLOCK_CLIENT, with the values cache or database according your needs.:

DISTRIBUTEDLOCK_CLIENT="cache"       # or "database"

Use

For register a distrbuted function with decorator:

from distributedlock import distributedlock

@distributedlock()
def my_task():
    print "running"

or you can use the sentence with:

with distributedlock('my_key_task'):
    print 'running'

Tests

Once installed in your django project:

django-admin.py test distributedlock

Needs gevent installed only for tests purpose.

Some ideas were take from https://github.com/snbuback/DistributedLock

© 2013 Scryent License BSD

Current code @ https://github.com/15five/django-distributedlock

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for django-distributedlock, version 0.4.0
Filename, size File type Python version Upload date Hashes
Filename, size django_distributedlock-0.4.0-py2.py3-none-any.whl (8.4 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size django-distributedlock-0.4.0.tar.gz (6.4 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page