|
@@ -15,11 +15,12 @@ from celery.task import task
|
|
|
from celery.registry import tasks
|
|
|
from celery.utils import uuid
|
|
|
from celery.utils.timer2 import Timer
|
|
|
+from celery.worker import WorkController as _WC
|
|
|
+from celery.worker import control
|
|
|
+from celery.worker import state
|
|
|
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 import control
|
|
|
from celery.worker.control import Panel
|
|
|
from celery.tests.utils import Case
|
|
|
|
|
@@ -379,58 +380,61 @@ class test_ControlPanel(Case):
|
|
|
|
|
|
def test_pool_restart(self):
|
|
|
consumer = Consumer()
|
|
|
- consumer.pool.restart = Mock()
|
|
|
+ consumer.controller = _WC()
|
|
|
+ consumer.controller.pool.restart = Mock()
|
|
|
panel = self.create_panel(consumer=consumer)
|
|
|
panel.app = self.app
|
|
|
_import = panel.app.loader.import_from_cwd = Mock()
|
|
|
_reload = Mock()
|
|
|
|
|
|
- panel.handle("pool_restart", {"reload": _reload})
|
|
|
- self.assertTrue(consumer.pool.restart.called)
|
|
|
+ panel.handle("pool_restart", {"reloader": _reload})
|
|
|
+ self.assertTrue(consumer.controller.pool.restart.called)
|
|
|
self.assertFalse(_reload.called)
|
|
|
self.assertFalse(_import.called)
|
|
|
|
|
|
def test_pool_restart_import_modules(self):
|
|
|
consumer = Consumer()
|
|
|
- consumer.pool.restart = Mock()
|
|
|
+ consumer.controller = _WC()
|
|
|
+ consumer.controller.pool.restart = Mock()
|
|
|
panel = self.create_panel(consumer=consumer)
|
|
|
panel.app = self.app
|
|
|
- _import = panel.app.loader.import_from_cwd = Mock()
|
|
|
+ _import = consumer.controller.app.loader.import_from_cwd = Mock()
|
|
|
_reload = Mock()
|
|
|
|
|
|
- panel.handle("pool_restart", {"imports": ["foo", "bar"],
|
|
|
- "reload": _reload})
|
|
|
+ panel.handle("pool_restart", {"modules": ["foo", "bar"],
|
|
|
+ "reloader": _reload})
|
|
|
|
|
|
- self.assertTrue(consumer.pool.restart.called)
|
|
|
+ self.assertTrue(consumer.controller.pool.restart.called)
|
|
|
self.assertFalse(_reload.called)
|
|
|
self.assertEqual([(("foo",), {}), (("bar",), {})],
|
|
|
_import.call_args_list)
|
|
|
|
|
|
def test_pool_restart_relaod_modules(self):
|
|
|
consumer = Consumer()
|
|
|
- consumer.pool.restart = Mock()
|
|
|
+ consumer.controller = _WC()
|
|
|
+ consumer.controller.pool.restart = Mock()
|
|
|
panel = self.create_panel(consumer=consumer)
|
|
|
panel.app = self.app
|
|
|
_import = panel.app.loader.import_from_cwd = Mock()
|
|
|
_reload = Mock()
|
|
|
|
|
|
with patch.dict(sys.modules, {"foo": None}):
|
|
|
- panel.handle("pool_restart", {"imports": ["foo"],
|
|
|
- "reload_imports": False,
|
|
|
- "reload": _reload})
|
|
|
+ panel.handle("pool_restart", {"modules": ["foo"],
|
|
|
+ "reload": False,
|
|
|
+ "reloader": _reload})
|
|
|
|
|
|
- self.assertTrue(consumer.pool.restart.called)
|
|
|
+ self.assertTrue(consumer.controller.pool.restart.called)
|
|
|
self.assertFalse(_reload.called)
|
|
|
self.assertFalse(_import.called)
|
|
|
|
|
|
_import.reset_mock()
|
|
|
_reload.reset_mock()
|
|
|
- consumer.pool.restart.reset_mock()
|
|
|
+ consumer.controller.pool.restart.reset_mock()
|
|
|
|
|
|
- panel.handle("pool_restart", {"imports": ["foo"],
|
|
|
- "reload_imports": True,
|
|
|
- "reload": _reload})
|
|
|
+ panel.handle("pool_restart", {"modules": ["foo"],
|
|
|
+ "reload": True,
|
|
|
+ "reloader": _reload})
|
|
|
|
|
|
- self.assertTrue(consumer.pool.restart.called)
|
|
|
+ self.assertTrue(consumer.controller.pool.restart.called)
|
|
|
self.assertTrue(_reload.called)
|
|
|
self.assertFalse(_import.called)
|