Esempio n. 1
0
 def test_with_rate_limits_disabled(self):
     conf.DISABLE_RATE_LIMITS = True
     try:
         worker = WorkController(concurrency=1, loglevel=0)
         self.assertTrue(hasattr(worker.ready_queue, "put"))
     finally:
         conf.DISABLE_RATE_LIMITS = False
 def test_with_rate_limits_disabled(self):
     conf.DISABLE_RATE_LIMITS = True
     try:
         worker = WorkController(concurrency=1, loglevel=0)
         self.assertIsInstance(worker.ready_queue, FastQueue)
     finally:
         conf.DISABLE_RATE_LIMITS = False
Esempio n. 3
0
def bench_consumer(n=10000):
    from celery.worker import WorkController
    from celery.worker import state

    worker = WorkController(app=celery, pool_cls="solo")
    time_start = [None]

    @celery.task()
    def it(i):
        if not i:
            time_start[0] = time.time()
        elif i == n - 1:
            print(time.time() - time_start[0])

    @celery.task()
    def shutdown_worker():
        raise SystemExit()

    for i in xrange(n):
        it.delay(i)
    shutdown_worker.delay()

    try:
        worker.start()
    except SystemExit:
        assert sum(state.total_count.values()) == n + 1
Esempio n. 4
0
    def test_on_timer_tick(self):
        worker = WorkController(concurrency=1, loglevel=10)
        worker.logger = Mock()
        worker.timer_debug = worker.logger.debug

        worker.on_timer_tick(30.0)
        logged = worker.logger.debug.call_args[0][0]
        self.assertIn("30.0", logged)
Esempio n. 5
0
    def test_on_timer_tick(self):
        worker = WorkController(concurrency=1, loglevel=10)

        Timers(worker).on_timer_tick(30.0)
        xargs = self.logger.debug.call_args[0]
        fmt, arg = xargs[0], xargs[1]
        self.assertEqual(30.0, arg)
        self.assertIn('Next eta %s secs', fmt)
Esempio n. 6
0
    def test_on_timer_error(self):
        worker = WorkController(concurrency=1, loglevel=0)

        try:
            raise KeyError('foo')
        except KeyError, exc:
            Timers(worker).on_timer_error(exc)
            msg, args = self.logger.error.call_args[0]
            self.assertIn('KeyError', msg % args)
Esempio n. 7
0
    def test_on_timer_tick(self):
        worker = WorkController(concurrency=1, loglevel=10)
        worker.logger = Mock()
        worker.timer_debug = worker.logger.debug

        worker.on_timer_tick(30.0)
        xargs = worker.logger.debug.call_args[0]
        fmt, arg = xargs[0], xargs[1]
        self.assertEqual(30.0, arg)
        self.assertIn("Next eta %s secs", fmt)
Esempio n. 8
0
    def test_on_timer_error(self):
        worker = WorkController(concurrency=1, loglevel=0)

        try:
            raise KeyError("foo")
        except KeyError:
            exc_info = sys.exc_info()

        worker.on_timer_error(exc_info)
        msg, args = self.logger.error.call_args[0]
        self.assertIn("KeyError", msg % args)
Esempio n. 9
0
    def test_on_timer_error(self):
        worker = WorkController(concurrency=1, loglevel=0)
        worker.logger = MockLogger()

        try:
            raise KeyError("foo")
        except KeyError:
            exc_info = sys.exc_info()

        worker.on_timer_error(exc_info)
        logged = worker.logger.logged[0]
        self.assertIn("KeyError", logged)
Esempio n. 10
0
    def test_dont_stop_or_terminate(self):
        worker = WorkController(concurrency=1, loglevel=0)
        worker.stop()
        self.assertNotEqual(worker._state, worker.CLOSE)
        worker.terminate()
        self.assertNotEqual(worker._state, worker.CLOSE)

        sigsafe, worker.pool.signal_safe = worker.pool.signal_safe, False
        try:
            worker._state = worker.RUN
            worker.stop(in_sighandler=True)
            self.assertNotEqual(worker._state, worker.CLOSE)
            worker.terminate(in_sighandler=True)
            self.assertNotEqual(worker._state, worker.CLOSE)
        finally:
            worker.pool.signal_safe = sigsafe
Esempio n. 11
0
 def test_with_embedded_celerybeat(self):
     worker = WorkController(concurrency=1, loglevel=0, beat=True)
     self.assertTrue(worker.beat)
     self.assertIn(worker.beat, worker.components)
Esempio n. 12
0
 def test_with_rate_limits_disabled(self):
     worker = WorkController(concurrency=1,
                             loglevel=0,
                             disable_rate_limits=True)
     self.assertTrue(hasattr(worker.ready_queue, 'put'))
Esempio n. 13
0
 def test_with_embedded_beat(self):
     worker = WorkController(concurrency=1, loglevel=0, beat=True)
     self.assertTrue(worker.beat)
     self.assertIn(worker.beat, [w.obj for w in worker.steps])
Esempio n. 14
0
 def create_worker(self, **kw):
     worker = WorkController(concurrency=1, loglevel=0, **kw)
     worker._shutdown_complete.set()
     worker.logger = Mock()
     return worker
Esempio n. 15
0
 def create_worker(self, **kw):
     worker = WorkController(concurrency=1, loglevel=0, **kw)
     worker.logger = Mock()
     return worker
 def test_with_embedded_clockservice(self):
     worker = WorkController(concurrency=1,
                             loglevel=0,
                             embed_clockservice=True)
     self.assertTrue(worker.clockservice)
     self.assertIn(worker.clockservice, worker.components)
 def setUp(self):
     self.worker = WorkController(concurrency=1, loglevel=0)
     self.worker.logger = MockLogger()