(self)
| 333 | worker_state.active_requests.discard(r) |
| 334 | |
| 335 | def test_pool_grow(self): |
| 336 | |
| 337 | class MockPool: |
| 338 | |
| 339 | def __init__(self, size=1): |
| 340 | self.size = size |
| 341 | |
| 342 | def grow(self, n=1): |
| 343 | self.size += n |
| 344 | |
| 345 | def shrink(self, n=1): |
| 346 | self.size -= n |
| 347 | |
| 348 | @property |
| 349 | def num_processes(self): |
| 350 | return self.size |
| 351 | |
| 352 | consumer = Consumer(self.app) |
| 353 | consumer.prefetch_multiplier = 8 |
| 354 | consumer.qos = Mock(name='qos') |
| 355 | consumer.pool = MockPool(1) |
| 356 | panel = self.create_panel(consumer=consumer) |
| 357 | |
| 358 | panel.handle('pool_grow') |
| 359 | assert consumer.pool.size == 2 |
| 360 | consumer.qos.increment_eventually.assert_called_with(8) |
| 361 | assert consumer.initial_prefetch_count == 16 |
| 362 | panel.handle('pool_shrink') |
| 363 | assert consumer.pool.size == 1 |
| 364 | consumer.qos.decrement_eventually.assert_called_with(8) |
| 365 | assert consumer.initial_prefetch_count == 8 |
| 366 | |
| 367 | panel.state.consumer = Mock() |
| 368 | panel.state.consumer.controller = Mock() |
| 369 | r = panel.handle('pool_grow') |
| 370 | assert 'error' in r |
| 371 | r = panel.handle('pool_shrink') |
| 372 | assert 'error' in r |
| 373 | |
| 374 | def test_add__cancel_consumer(self): |
| 375 |
nothing calls this directly
no test coverage detected