__init__.py
29 lines
| 694 B
| text/x-python
|
PythonLexer
r467 | from vcs.utils.lazy import LazyProperty | |||
import logging | ||||
r474 | import os | |||
import sys | ||||
import traceback | ||||
r467 | ||||
log = logging.getLogger(__name__) | ||||
class ResultWrapper(object): | ||||
def __init__(self, task): | ||||
self.task = task | ||||
@LazyProperty | ||||
def result(self): | ||||
return self.task | ||||
r487 | def run_task(task, *args, **kwargs): | |||
r467 | try: | |||
r487 | t = task.delay(*args, **kwargs) | |||
log.info('running task %s', t.task_id) | ||||
r467 | return t | |||
r487 | except Exception, e: | |||
if e.errno == 111: | ||||
log.debug('Unnable to connect. Sync execution') | ||||
else: | ||||
log.error(traceback.format_exc()) | ||||
r467 | #pure sync version | |||
r487 | return ResultWrapper(task(*args, **kwargs)) | |||