From ff0cb5d5b0eca847c62a9ebab3dbf318fa1a0469 Mon Sep 17 00:00:00 2001 From: Joshua Harlow Date: Mon, 16 Nov 2015 15:45:12 -0800 Subject: [PATCH] Avoid recreating notify details for each dispatch iteration We can just create the notification details once and reuse it for each iteration, instead of recreating it for each iteration; saves some resources... Change-Id: Ie8ad61647afe2eef813af87a915710cf91de8e46 --- taskflow/conductors/backends/impl_executor.py | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/taskflow/conductors/backends/impl_executor.py b/taskflow/conductors/backends/impl_executor.py index d61f3e0d..509ce32c 100644 --- a/taskflow/conductors/backends/impl_executor.py +++ b/taskflow/conductors/backends/impl_executor.py @@ -183,22 +183,19 @@ class ExecutorConductor(base.Conductor): stack.enter_context(listener) self._log.debug("Dispatching engine for job '%s'", job) consume = True + details = { + 'job': job, + 'engine': engine, + 'conductor': self, + } try: for stage_func, event_name in [(engine.compile, 'compilation'), (engine.prepare, 'preparation'), (engine.validate, 'validation'), (engine.run, 'running')]: - self._notifier.notify("%s_start" % event_name, { - 'job': job, - 'engine': engine, - 'conductor': self, - }) + self._notifier.notify("%s_start" % event_name, details) stage_func() - self._notifier.notify("%s_end" % event_name, { - 'job': job, - 'engine': engine, - 'conductor': self, - }) + self._notifier.notify("%s_end" % event_name, details) except excp.WrappedFailure as e: if all((f.check(*self.NO_CONSUME_EXCEPTIONS) for f in e)): consume = False