Browse Source

Fix syntax error in celery.task.base related to supporting execution options in a TaskSets argument list.

Ask Solem 15 years ago
parent
commit
c8f08ff8ef
2 changed files with 5 additions and 5 deletions
  1. 3 3
      celery/task/base.py
  2. 2 2
      celery/utils/__init__.py

+ 3 - 3
celery/task/base.py

@@ -7,7 +7,7 @@ from billiard.serialization import pickle
 
 from celery import conf
 from celery.log import setup_logger
-from celery.utils import gen_unique_id, get_full_cls_name
+from celery.utils import gen_unique_id, get_full_cls_name, mexpand
 from celery.result import BaseAsyncResult, TaskSetResult, EagerResult
 from celery.execute import apply_async, apply
 from celery.registry import tasks
@@ -532,7 +532,7 @@ class TaskSet(object):
         conn = self.task.establish_connection(connect_timeout=connect_timeout)
         publisher = self.task.get_publisher(connection=conn)
         try:
-            subtasks = [self.apply_part(self.arguments, taskset_id, publisher)
+            subtasks = [self.apply_part(arglist, taskset_id, publisher)
                             for arglist in self.arguments]
         finally:
             publisher.close()
@@ -540,7 +540,7 @@ class TaskSet(object):
         return TaskSetResult(taskset_id, subtasks)
 
     def apply_part(self, arglist, taskset_id, publisher):
-        args, kwargs, opts = mexpand(arglist, 4)
+        args, kwargs, opts = mexpand(arglist, 3, default={})
         return apply_async(self.task, args, kwargs,
                            taskset_id=taskset_id, publisher=publisher, **opts)
 

+ 2 - 2
celery/utils/__init__.py

@@ -54,8 +54,8 @@ def gen_unique_id():
     return str(uuid4())
 
 
-def mexpand(container, size):
-    return container[:size] + [None] * (size - len(container))
+def mexpand(container, size, default=None):
+    return container[:size] + [default] * (size - len(container))
 
 
 def mitemgetter(*items):