Small refactor to feed_queue()

Put the event tuple into the results queue rather than yielding it from
the function.

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
This commit is contained in:
Aanand Prasad 2016-04-11 12:37:00 +01:00
parent 97467c7dec
commit 0e3db185cf
1 changed files with 2 additions and 3 deletions

View File

@ -87,8 +87,7 @@ def parallel_execute_stream(objects, func, get_deps):
state = State(objects)
while not state.is_done():
for event in feed_queue(objects, func, get_deps, results, state):
yield event
feed_queue(objects, func, get_deps, results, state)
try:
event = results.get(timeout=0.1)
@ -126,7 +125,7 @@ def feed_queue(objects, func, get_deps, results, state):
if any(dep in state.failed for dep in deps):
log.debug('{} has upstream errors - not processing'.format(obj))
yield (obj, None, UpstreamError())
results.put((obj, None, UpstreamError()))
state.failed.add(obj)
elif all(
dep not in objects or dep in state.finished