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.3.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ed6cd07d3c7967c0a945f00c847ad79991eb7de7c1fbb8b71b6f02d5c79a776 |
|
MD5 | 37ac7b2581ab1a83a02b28c888657f01 |
|
BLAKE2b-256 | 9f05d730295ab9e88449a0175fc3ac038c48bf84147d054c49850a35511e4e83 |
Hashes for django_distributedlock-0.3.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2641c342b815b1924b1f7752935cdc9905a8d5e0a1a6657f29f16980be0f7f49 |
|
MD5 | 08fb05bd6911dfdbe83e56253f50bca7 |
|
BLAKE2b-256 | 796d6032cb74572cd0cd7132c8385d1465359d4744f38148c7af33d8794d6d86 |