Mercurial > kallithea
comparison rhodecode/lib/celerylib/__init__.py @ 558:14559eb34003
more error catching on celery run_task
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Thu, 07 Oct 2010 19:24:03 +0200 |
parents | 1e757ac98988 |
children | d85b0948e539 f6c613fba757 |
comparison
equal
deleted
inserted
replaced
557:29ec9ddbe258 | 558:14559eb34003 |
---|---|
4 import logging | 4 import logging |
5 import os | 5 import os |
6 import sys | 6 import sys |
7 import traceback | 7 import traceback |
8 from hashlib import md5 | 8 from hashlib import md5 |
9 import socket | |
9 log = logging.getLogger(__name__) | 10 log = logging.getLogger(__name__) |
10 | 11 |
11 class ResultWrapper(object): | 12 class ResultWrapper(object): |
12 def __init__(self, task): | 13 def __init__(self, task): |
13 self.task = task | 14 self.task = task |
19 def run_task(task, *args, **kwargs): | 20 def run_task(task, *args, **kwargs): |
20 try: | 21 try: |
21 t = task.delay(*args, **kwargs) | 22 t = task.delay(*args, **kwargs) |
22 log.info('running task %s', t.task_id) | 23 log.info('running task %s', t.task_id) |
23 return t | 24 return t |
25 except socket.error, e: | |
26 if e.errno == 111: | |
27 log.debug('Unable to connect to celeryd. Sync execution') | |
28 else: | |
29 log.error(traceback.format_exc()) | |
30 except KeyError, e: | |
31 log.debug('Unable to connect to celeryd. Sync execution') | |
24 except Exception, e: | 32 except Exception, e: |
25 print e | 33 log.error(traceback.format_exc()) |
26 if e.errno == 111: | 34 |
27 log.debug('Unnable to connect. Sync execution') | 35 return ResultWrapper(task(*args, **kwargs)) |
28 else: | |
29 log.error(traceback.format_exc()) | |
30 #pure sync version | |
31 return ResultWrapper(task(*args, **kwargs)) | |
32 | 36 |
33 | 37 |
34 def locked_task(func): | 38 def locked_task(func): |
35 def __wrapper(func, *fargs, **fkwargs): | 39 def __wrapper(func, *fargs, **fkwargs): |
36 params = list(fargs) | 40 params = list(fargs) |