Browse Source

Tests passing

Ask Solem 12 years ago
parent
commit
1d1bf0b117
2 changed files with 3 additions and 3 deletions
  1. 2 2
      celery/app/task.py
  2. 1 1
      celery/task/base.py

+ 2 - 2
celery/app/task.py

@@ -494,7 +494,7 @@ class Task(object):
             'exchange': delivery_info.get('exchange'),
             'routing_key': delivery_info.get('routing_key')
         }
-        return self.subtask(args, kwargs, options, **extra_options)
+        return self.subtask(args, kwargs, options, type=self, **extra_options)
 
     def retry(self, args=None, kwargs=None, exc=None, throw=True,
             eta=None, countdown=None, max_retries=None, **options):
@@ -566,7 +566,7 @@ class Task(object):
 
         # If task was executed eagerly using apply(),
         # then the retry must also be executed eagerly.
-        S.apply() if request.is_eager else S.apply_async()
+        S.apply().get() if request.is_eager else S.apply_async()
         ret = RetryTaskError(exc=exc, when=eta or countdown)
         if throw:
             raise ret

+ 1 - 1
celery/task/base.py

@@ -21,7 +21,7 @@ from celery.utils.log import get_task_logger
 
 #: list of methods that must be classmethods in the old API.
 _COMPAT_CLASSMETHODS = (
-    'delay', 'apply_async', 'retry', 'apply',
+    'delay', 'apply_async', 'retry', 'apply', 'subtask_from_request',
     'AsyncResult', 'subtask', '_get_request',
 )