Metadata-Version: 1.1
Name: django-db-locking
Version: 2.0.0
Summary: Database locking
Home-page: https://github.com/vikingco/django-db-locking/
Author: VikingCo
Author-email: operations@unleashed.be
License: BSD
Description: Django-locking
        ==============
        Usage
        -----
        The simplest use is by using it as a context manager:
        
        ::
        
            with NonBlockingLock.objects.acquire_lock(obj=model_obj):
                model_obj.do_something()
        
        Or you can keep track of the lock yourself:
        
        ::
        
            try:
                lock = NonBlockingLock.objects.acquire_lock(obj=model_obj)
            except AlreadyLocked:
                return False
        
            model_obj.do_something()
            lock.release()
        
        If you have no Django model, or you want to be able to specify the lock name
        yourself, you can do that too::
        
            # this will raise AlreadyLocked, if it's locked
            lock = NonBlockingLock.objects.acquire_lock(lock_name='my_lock')
            do_something()
            lock.release()
        
        Test
        -----
        You can run the tests with
        ::
        
            tox
        
        Wishlist
        --------
        - Add lock time-out (try to aquire a lock for up to a given TIME_OUT), like
          `lockfile's <http://packages.python.org/lockfile/>`_ `FileLock.aquire
          <http://packages.python.org/lockfile/lockfile.html#lockfile.FileLock.acquire>`_
        - Global locks (for instance on a whole Model not just an object)
        
        Releases
        --------
        v2.0.0:
          Merging of master and pre-django-1.8 branches
          Removes management command in favor of a celery task
        v1.2.1:
          Fix problem in migration to UUIDField for PostGres
        v1.2.0:
          Move id to UUIDField, add code quality checks and CI
        v1.1.0:
          Rename model to NonBlockingLock and add additional features
        v1.0.1:
          Corrected tests and code clean-up
        v1.0.0:
          Intial release.
        
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Operating System :: OS Independent
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
