Make the redis client use AsyncWrapper and coroutines
Change all log messages to be synchronous
This commit is contained in:
parent
5935e93eb8
commit
f0ef4347e5
8 changed files with 76 additions and 57 deletions
|
@ -13,6 +13,7 @@ from buildman.manager.ephemeral import (EphemeralBuilderManager, EtcdAction,
|
|||
ETCD_MAX_WATCH_TIMEOUT)
|
||||
from buildman.component.buildcomponent import BuildComponent
|
||||
from buildman.server import BuildJobResult
|
||||
from buildman.asyncutil import AsyncWrapper
|
||||
from util.metrics.metricqueue import duration_collector_async
|
||||
from app import metric_queue
|
||||
|
||||
|
@ -134,7 +135,7 @@ class TestEphemeralLifecycle(EphemeralBuilderTestCase):
|
|||
self.register_component_callback = Mock()
|
||||
self.unregister_component_callback = Mock()
|
||||
self.job_heartbeat_callback = Mock()
|
||||
self.job_complete_callback = Mock()
|
||||
self.job_complete_callback = AsyncWrapper(Mock())
|
||||
|
||||
self.manager = EphemeralBuilderManager(
|
||||
self.register_component_callback,
|
||||
|
@ -389,8 +390,9 @@ class TestEphemeralLifecycle(EphemeralBuilderTestCase):
|
|||
|
||||
# Ensure the job was marked as incomplete, with an update_phase to True (so the DB record and
|
||||
# logs are updated as well)
|
||||
self.job_complete_callback.assert_called_once_with(ANY, BuildJobResult.INCOMPLETE,
|
||||
'MockExecutor', update_phase=True)
|
||||
yield From(self.job_complete_callback.assert_called_once_with(ANY, BuildJobResult.INCOMPLETE,
|
||||
'MockExecutor',
|
||||
update_phase=True))
|
||||
|
||||
@async_test
|
||||
def test_change_worker(self):
|
||||
|
@ -473,7 +475,10 @@ class TestEphemeral(EphemeralBuilderTestCase):
|
|||
|
||||
unregister_component_callback = Mock()
|
||||
job_heartbeat_callback = Mock()
|
||||
job_complete_callback = Mock()
|
||||
|
||||
@coroutine
|
||||
def job_complete_callback(*args, **kwargs):
|
||||
raise Return()
|
||||
|
||||
self.manager = EphemeralBuilderManager(
|
||||
self._register_component,
|
||||
|
|
Reference in a new issue