Skip to main content

Distributed locking in Django

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.5.0.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

django_distributedlock-0.5.0-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for django-distributedlock-0.5.0.tar.gz
Algorithm Hash digest
SHA256 19d1dbdb328711b0a4200b578db3f18ce4db02a5e02f62acfcbe278b16f8bb7c
MD5 e5b0487e9b7c26c10669a25ccfb67aad
BLAKE2b-256 732a1b4719283227212fd30040d24a70c47e89c39f742bef1a61bc058c69eca2

See more details on using hashes here.

Provenance

File details

Details for the file django_distributedlock-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for django_distributedlock-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4a508cf04626ec202206195dbd43c4d937b7170ae1e1045339275da25d04f26d
MD5 bb70c9594ef4358804be08e197b5a5c5
BLAKE2b-256 9107a01ee5ee43116ed20e961a051476b8d3af2f2acf4e878678f3927c535e3a

See more details on using hashes here.

Provenance

Supported by

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