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
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
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)
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)
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)
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)
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)
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)
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
def test_with_embedded_celerybeat(self): worker = WorkController(concurrency=1, loglevel=0, beat=True) self.assertTrue(worker.beat) self.assertIn(worker.beat, worker.components)
def test_with_rate_limits_disabled(self): worker = WorkController(concurrency=1, loglevel=0, disable_rate_limits=True) self.assertTrue(hasattr(worker.ready_queue, 'put'))
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])
def create_worker(self, **kw): worker = WorkController(concurrency=1, loglevel=0, **kw) worker._shutdown_complete.set() worker.logger = Mock() return worker
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()