Browse Source

celery.worker.control/ refactored into single module

Ask Solem 13 years ago
parent
commit
fc2d61ddc8

+ 4 - 4
celery/tests/test_worker/test_worker_control.py

@@ -19,8 +19,8 @@ from celery.worker.buckets import FastQueue
 from celery.worker.job import TaskRequest
 from celery.worker import state
 from celery.worker.state import revoked
-from celery.worker.control import builtins
-from celery.worker.control.registry import Panel
+from celery.worker import control
+from celery.worker.control import Panel
 from celery.tests.utils import unittest
 
 hostname = socket.gethostname()
@@ -337,12 +337,12 @@ class test_ControlPanel(unittest.TestCase):
         request.task_id = tid = uuid()
         state.active_requests.add(request)
         try:
-            r = builtins.revoke(Mock(), tid, terminate=True)
+            r = control.revoke(Mock(), tid, terminate=True)
             self.assertIn(tid, revoked)
             self.assertTrue(request.terminate.call_count)
             self.assertIn("terminated", r["ok"])
             # unknown task id only revokes
-            r = builtins.revoke(Mock(), uuid(), terminate=True)
+            r = control.revoke(Mock(), uuid(), terminate=True)
             self.assertIn("revoked", r["ok"])
         finally:
             state.active_requests.discard(request)

+ 1 - 1
celery/worker/consumer.py

@@ -90,7 +90,7 @@ from ..utils import timer2
 from ..utils.encoding import safe_repr
 from . import state
 from .job import TaskRequest, InvalidTaskError
-from .control.registry import Panel
+from .control import Panel
 from .heartbeat import Heart
 
 RUN = 0x1

+ 19 - 10
celery/worker/control/builtins.py → celery/worker/control.py

@@ -1,9 +1,9 @@
 # -*- coding: utf-8 -*-
 """
-    celery.worker.control.builtins
-    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    celery.worker.control
+    ~~~~~~~~~~~~~~~~~~~~~
 
-    THis module contains the built-in remote control commands.
+    Remote control commands.
 
     :copyright: (c) 2009 - 2011 by Ask Solem.
     :license: BSD, see LICENSE for more details.
@@ -15,18 +15,27 @@ import sys
 
 from datetime import datetime
 
-from ...platforms import signals as _signals
-from ...registry import tasks
-from ...utils import timeutils
-from ...utils.encoding import safe_repr
-from .. import state
-from ..state import revoked
+from ..platforms import signals as _signals
+from ..registry import tasks
+from ..utils import timeutils
+from ..utils.compat import UserDict
+from ..utils.encoding import safe_repr
 
-from .registry import Panel
+from . import state
+from .state import revoked
 
 TASK_INFO_FIELDS = ("exchange", "routing_key", "rate_limit")
 
 
+class Panel(UserDict):
+    data = dict()  # Global registry.
+
+    @classmethod
+    def register(cls, method, name=None):
+        cls.data[name or method.__name__] = method
+        return method
+
+
 @Panel.register
 def revoke(panel, task_id, terminate=False, signal=None, **kwargs):
     """Revoke task by task id."""

+ 0 - 20
celery/worker/control/__init__.py

@@ -1,20 +0,0 @@
-# -*- coding: utf-8 -*-
-"""
-    celery.worker.control
-    ~~~~~~~~~~~~~~~~~~~~~
-
-    Remote control commands.
-    See :mod:`celery.worker.control.builtins`.
-
-    :copyright: (c) 2009 - 2011 by Ask Solem.
-    :license: BSD, see LICENSE for more details.
-
-"""
-from __future__ import absolute_import
-
-from . import registry
-
-# Loads the built-in remote control commands
-from . import builtins  # noqa
-
-Panel = registry.Panel

+ 0 - 24
celery/worker/control/registry.py

@@ -1,24 +0,0 @@
-# -*- coding: utf-8 -*-
-"""
-    celery.worker.control.registry
-    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-    The registry keeps track of available remote control commands,
-    and can be used to register new commands.
-
-    :copyright: (c) 2009 - 2011 by Ask Solem.
-    :license: BSD, see LICENSE for more details.
-
-"""
-from __future__ import absolute_import
-
-from ...utils.compat import UserDict
-
-
-class Panel(UserDict):
-    data = dict()                               # Global registry.
-
-    @classmethod
-    def register(cls, method, name=None):
-        cls.data[name or method.__name__] = method
-        return method