Files
mayan-edms/mayan/apps/checkouts/tasks.py
2014-10-03 01:56:03 -04:00

27 lines
686 B
Python

from __future__ import absolute_import
import logging
from lock_manager import Lock, LockError
from mayan.celery import app
from .models import DocumentCheckout
LOCK_EXPIRE = 50
logger = logging.getLogger(__name__)
@app.task
def task_check_expired_check_outs():
logger.debug('executing...')
lock_id = u'task_expired_check_outs'
try:
logger.debug('trying to acquire lock: %s' % lock_id)
lock = Lock.acquire_lock(lock_id, LOCK_EXPIRE)
logger.debug('acquired lock: %s' % lock_id)
DocumentCheckout.objects.check_in_expired_check_outs()
lock.release()
except LockError:
logger.debug('unable to obtain lock')
pass