X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Ftools%2Fpresentation%2Finput_data_parser.py;h=ef661a8395b5dbe1478fd23854c99076354ed6b8;hb=f966718dfe763e48f2cc89e9ede2408a0f782d1b;hp=84245c429ce491f497c588b4b6ccfa38e6663d4d;hpb=5aa2e158983f61df6d26129ad566b906051fc5b5;p=csit.git diff --git a/resources/tools/presentation/input_data_parser.py b/resources/tools/presentation/input_data_parser.py index 84245c429c..ef661a8395 100644 --- a/resources/tools/presentation/input_data_parser.py +++ b/resources/tools/presentation/input_data_parser.py @@ -1331,36 +1331,48 @@ class InputData(object): for job, builds in self._cfg.builds.items(): for build in builds: - work_queue.put((job, build, repeat)) - - work_queue.join() - - logging.info("Done.") - - while not data_queue.empty(): - result = data_queue.get() - - job = result["job"] - build_nr = result["build"]["build"] + try: + work_queue.put((job, build, repeat)) + except (MemoryError, EOFError) as err: + logging.error(repr(err)) - if result["data"]: - data = result["data"] - build_data = pd.Series({ - "metadata": pd.Series(data["metadata"].values(), - index=data["metadata"].keys()), - "suites": pd.Series(data["suites"].values(), - index=data["suites"].keys()), - "tests": pd.Series(data["tests"].values(), - index=data["tests"].keys())}) + work_queue.join() - if self._input_data.get(job, None) is None: - self._input_data[job] = pd.Series() - self._input_data[job][str(build_nr)] = build_data + logging.info("Done.") - self._cfg.set_input_file_name(job, build_nr, - result["build"]["file-name"]) + logging.info("Collecting data:") - self._cfg.set_input_state(job, build_nr, result["state"]) + while not data_queue.empty(): + try: + result = data_queue.get() + + job = result["job"] + build_nr = result["build"]["build"] + + logging.info(" {job}-{build}".format(job=job, + build=build_nr)) + if result["data"]: + data = result["data"] + build_data = pd.Series({ + "metadata": pd.Series( + data["metadata"].values(), + index=data["metadata"].keys()), + "suites": pd.Series(data["suites"].values(), + index=data["suites"].keys()), + "tests": pd.Series(data["tests"].values(), + index=data["tests"].keys())}) + + if self._input_data.get(job, None) is None: + self._input_data[job] = pd.Series() + self._input_data[job][str(build_nr)] = build_data + + self._cfg.set_input_file_name( + job, build_nr, result["build"]["file-name"]) + + self._cfg.set_input_state(job, build_nr, result["state"]) + + except (MemoryError, EOFError) as err: + logging.error(repr(err)) del data_queue