Mercurial > public > src > rhodecode
diff pylons_app/lib/celerylib/__init__.py @ 510:3fc3ce53659b celery
starting celery branch
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sat, 11 Sep 2010 01:55:46 +0200 |
parents | |
children | a3d9d24acbec |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pylons_app/lib/celerylib/__init__.py Sat Sep 11 01:55:46 2010 +0200 @@ -0,0 +1,24 @@ +from vcs.utils.lazy import LazyProperty +import logging + +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,async,*args,**kwargs): + try: + t = task.delay(*args,**kwargs) + log.info('running task %s',t.task_id) + if not async: + t.wait() + return t + except: + #pure sync version + return ResultWrapper(task(*args,**kwargs)) + \ No newline at end of file