keep_running = True
job_procs = set()
+ worst_returncode = 0
while keep_running:
# Check to see if we have a teuthology-results process hanging around
# and if so, read its return code so that it can exit.
stop()
load_config()
- job_procs = set(filter(lambda p: p.poll() is None, job_procs))
+ for proc in list(job_procs):
+ rc = proc.poll()
+ if rc is not None:
+ worst_returncode = max([worst_returncode, rc])
+ job_procs.remove(proc)
job = connection.reserve(timeout=60)
if job is None:
if exit_on_empty_queue and not job_procs:
except Exception:
log.exception("Saw exception while trying to delete job")
- returncodes = set([0])
- for proc in job_procs:
- if proc.returncode is not None:
- returncodes.add(proc.returncode)
- return max(returncodes)
+ return worst_returncode
def find_dispatcher_processes() -> Dict[str, List[psutil.Process]]: