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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django-distributedlock-0.4.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | e62c795de63269c2b6798a765f756a102f41b20fcd196ece2015e9cba115677f |
|
MD5 | f8a6f2a3ffa1df81a478352ce7ae3e42 |
|
BLAKE2b-256 | 002c82f7d57bad311bb163dff3736c4565eceba0c84667d52484a97fc0587d72 |
Hashes for django_distributedlock-0.4.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7dde2caa12d13bcc91512354c2e3eeff6fd21470bd836ee2d9cb68fcbdff762a |
|
MD5 | 14164154ba90dbf6b8392ab38d8b3fa3 |
|
BLAKE2b-256 | d0ddb54937806a0a6773f4a4fc6e347d2db1aeb3c087471ca9089e64c9624cb4 |