##// END OF EJS Templates
fixes #77 and adds extendable base Dn with custom uid specification
fixes #77 and adds extendable base Dn with custom uid specification

File last commit:

r679:d85b0948 rhodecode-0.0.1.0.2 default
r775:aaf2fc59 beta
Show More
__init__.py
64 lines | 1.7 KiB | text/x-python | PythonLexer
renamed project to rhodecode
r547 from rhodecode.lib.pidlock import DaemonLock, LockHeld
from vcs.utils.lazy import LazyProperty
from decorator import decorator
import logging
import os
import sys
import traceback
from hashlib import md5
more error catching on celery run_task
r558 import socket
renamed project to rhodecode
r547 log = logging.getLogger(__name__)
class ResultWrapper(object):
def __init__(self, task):
self.task = task
@LazyProperty
def result(self):
return self.task
def run_task(task, *args, **kwargs):
try:
t = task.delay(*args, **kwargs)
log.info('running task %s', t.task_id)
return t
more error catching on celery run_task
r558 except socket.error, e:
if e.errno == 111:
log.debug('Unable to connect to celeryd. Sync execution')
else:
log.error(traceback.format_exc())
except KeyError, e:
log.debug('Unable to connect to celeryd. Sync execution')
renamed project to rhodecode
r547 except Exception, e:
more error catching on celery run_task
r558 log.error(traceback.format_exc())
return ResultWrapper(task(*args, **kwargs))
renamed project to rhodecode
r547
def locked_task(func):
def __wrapper(func, *fargs, **fkwargs):
params = list(fargs)
params.extend(['%s-%s' % ar for ar in fkwargs.items()])
lockkey = 'task_%s' % \
md5(str(func.__name__) + '-' + \
'-'.join(map(str, params))).hexdigest()
log.info('running task with lockkey %s', lockkey)
try:
l = DaemonLock(lockkey)
ret = func(*fargs, **fkwargs)
l.release()
return ret
except LockHeld:
log.info('LockHeld')
return 'Task with key %s already running' % lockkey
return decorator(__wrapper, func)