diff pylons_app/lib/celerylib/__init__.py @ 467: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