diff --git a/mayan/apps/lock_manager/managers.py b/mayan/apps/lock_manager/managers.py index 7c5003f80b..ec5baf9192 100644 --- a/mayan/apps/lock_manager/managers.py +++ b/mayan/apps/lock_manager/managers.py @@ -20,8 +20,6 @@ class LockManager(models.Manager): try: with transaction.atomic(): lock.save(force_insert=True) - logger.debug('acquired lock: %s', name) - return lock except IntegrityError as exception: logger.debug('IntegrityError: %s', exception) # There is already an existing lock @@ -43,3 +41,6 @@ class LockManager(models.Manager): else: logger.debug('unable to acquire lock: %s', name) raise LockError('Unable to acquire lock') + else: + logger.debug('acquired lock: %s', name) + return lock diff --git a/mayan/apps/lock_manager/models.py b/mayan/apps/lock_manager/models.py index 07fcf70ec6..e1b1a3257b 100644 --- a/mayan/apps/lock_manager/models.py +++ b/mayan/apps/lock_manager/models.py @@ -26,10 +26,11 @@ class Lock(models.Model): def release(self): try: lock = Lock.objects.get(name=self.name, creation_datetime=self.creation_datetime) - lock.delete() except Lock.DoesNotExist: # Our lock has expired and was reassigned pass + else: + lock.delete() class Meta: verbose_name = _(u'Lock')