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