예제 #1
0
파일: tasks.py 프로젝트: sanosay/zeus
 def wrapper(func):
     @wraps(func)
     def inner(*args, **kwargs):
         prev_language = translation.get_language()
         if prev_language != settings.LANGUAGE_CODE:
             translation.activate(settings.LANGUAGE_CODE)
         return func(*args, **kwargs)
     # prevent magic kwargs passthrough
     if not 'accept_magic_kwargs' in taskkwargs:
         taskkwargs['accept_magic_kwargs'] = False
     return celery_task(*taskargs, **taskkwargs)(inner)
예제 #2
0
파일: tasks.py 프로젝트: grnet/zeus
 def wrapper(func):
     @wraps(func)
     def inner(*args, **kwargs):
         prev_language = translation.get_language()
         if prev_language != settings.LANGUAGE_CODE:
             translation.activate(settings.LANGUAGE_CODE)
         return func(*args, **kwargs)
     # prevent magic kwargs passthrough
     if not 'accept_magic_kwargs' in taskkwargs:
         taskkwargs['accept_magic_kwargs'] = False
     return celery_task(*taskargs, **taskkwargs)(inner)
예제 #3
0
def jtask(func, *args, **kwargs):
    """
    Java-exception aware task decorator for Celery.

    Re-throws the exception as a pickleable :class:`JavaException` object.
    """
    task = celery_task(func, *args, **kwargs)
    run = task.run

    @wraps(run)
    def call_task(*targs, **tkwargs):  # pylint: disable=C0111
        jvm_instance = jvm()

        try:
            return run(*targs, **tkwargs)
        except jvm_instance.JavaException, e:
            trace = sys.exc_info()[2]

            raise JavaException(e), None, trace