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

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

Uploaded Source

File details

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

File metadata

File hashes

Hashes for django-distributedlock-0.3.0.tar.gz
Algorithm Hash digest
SHA256 a49bc23d0cdf267cf9883d0d1cc482791deac421d3dac16967b85e9320b949d5
MD5 6128bdd518c85553c1c6b7d8c5f36b12
BLAKE2b-256 9767562b070a4c614e8177738b61d874df3f1d3cf94fe2efc4708777b6e962a0

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