view pylons_app/lib/celerylib/__init__.py @ 474:a3d9d24acbec celery

Implemented password reset(forms/models/ tasks) and mailing tasks. Added smtp mailer, configurations, cleaned user model
author Marcin Kuzminski <marcin@python-works.com>
date Mon, 13 Sep 2010 01:27:41 +0200
parents 3fc3ce53659b
children b12ea84fb906
line wrap: on
line source

from vcs.utils.lazy import LazyProperty
import logging
import os
import sys
import traceback

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
    except:
        log.error(traceback.format_exc())
        #pure sync version
        return ResultWrapper(task(*args,**kwargs))