فهرست منبع

100% Coverage for celery.concurrency.base, .processes

Ask Solem 14 سال پیش
والد
کامیت
1be8326475
2فایلهای تغییر یافته به همراه15 افزوده شده و 1 حذف شده
  1. 0 1
      celery/bin/base.py
  2. 15 0
      celery/tests/test_concurrency_processes.py

+ 0 - 1
celery/bin/base.py

@@ -80,7 +80,6 @@ class Command(object):
             self.app = self.get_cls_by_name(app)
         else:
             self.app = self.get_app(loader=loader)
-        print("SETUP")
         if self.enable_config_from_cmdline:
             argv = self.process_cmdline_config(argv)
         return argv

+ 15 - 0
celery/tests/test_concurrency_processes.py

@@ -58,6 +58,12 @@ class MockPool(object):
     def terminate(self):
         self.terminated = True
 
+    def grow(self, n=1):
+        self.processes += n
+
+    def shrink(self, n=1):
+        self.processes -= n
+
     def apply_async(self, *args, **kwargs):
         pass
 
@@ -163,6 +169,15 @@ class test_TaskPool(unittest.TestCase):
         pool.start()
         pool.apply_async(lambda x: x, (2, ), {})
 
+    def test_grow_shrink(self):
+        pool = TaskPool(10)
+        pool.start()
+        self.assertEqual(pool._pool.processes, 10)
+        pool.grow()
+        self.assertEqual(pool._pool.processes, 11)
+        pool.shrink(2)
+        self.assertEqual(pool._pool.processes, 9)
+
     def test_info(self):
         pool = TaskPool(10)
         procs = [Object(pid=i) for i in range(pool.limit)]