Browse Source

Fix errors in celery.registry introduced by last change to it.

Ask Solem 15 years ago
parent
commit
2e054a3af4
1 changed files with 6 additions and 5 deletions
  1. 6 5
      celery/registry.py

+ 6 - 5
celery/registry.py

@@ -1,5 +1,6 @@
 """celery.registry"""
 """celery.registry"""
 from celery import discovery
 from celery import discovery
+from celery.utils import get_full_cls_name
 from UserDict import UserDict
 from UserDict import UserDict
 
 
 
 
@@ -38,7 +39,8 @@ class TaskRegistry(UserDict):
 
 
         """
         """
         is_class = hasattr(task, "run")
         is_class = hasattr(task, "run")
-
+        if is_class:
+            task = task() # instantiate Task class
         if not name:
         if not name:
             name = getattr(task, "name")
             name = getattr(task, "name")
 
 
@@ -46,12 +48,11 @@ class TaskRegistry(UserDict):
             raise self.AlreadyRegistered(
             raise self.AlreadyRegistered(
                     "Task with name %s is already registered." % name)
                     "Task with name %s is already registered." % name)
 
 
-        if is_class:
-            self.data[name] = task() # instantiate Task class
-        else:
+        if not is_class:
             task.name = name
             task.name = name
             task.type = "regular"
             task.type = "regular"
-            self.data[name] = task
+
+        self.data[name] = task
 
 
     def unregister(self, name):
     def unregister(self, name):
         """Unregister task by name.
         """Unregister task by name.