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.

Source Distribution

django-distributedlock-0.3.2.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_distributedlock-0.3.2-py2.py3-none-any.whl (7.8 kB view details)

Uploaded Python 2Python 3

File details

Details for the file django-distributedlock-0.3.2.tar.gz.

File metadata

File hashes

Hashes for django-distributedlock-0.3.2.tar.gz
Algorithm Hash digest
SHA256 4ed6cd07d3c7967c0a945f00c847ad79991eb7de7c1fbb8b71b6f02d5c79a776
MD5 37ac7b2581ab1a83a02b28c888657f01
BLAKE2b-256 9f05d730295ab9e88449a0175fc3ac038c48bf84147d054c49850a35511e4e83

See more details on using hashes here.

File details

Details for the file django_distributedlock-0.3.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for django_distributedlock-0.3.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 2641c342b815b1924b1f7752935cdc9905a8d5e0a1a6657f29f16980be0f7f49
MD5 08fb05bd6911dfdbe83e56253f50bca7
BLAKE2b-256 796d6032cb74572cd0cd7132c8385d1465359d4744f38148c7af33d8794d6d86

See more details on using hashes here.

Supported by

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