- while not data_queue.empty():
- result = data_queue.get()
-
- job = result["job"]
- build_nr = result["build"]["build"]
-
- 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"])
-
- for item in result["logs"]:
- if item[0] == "INFO":
- logging.info(item[1])
- elif item[0] == "ERROR":
- logging.error(item[1])
- elif item[0] == "DEBUG":
- logging.debug(item[1])
- elif item[0] == "CRITICAL":
- logging.critical(item[1])
- elif item[0] == "WARNING":
- logging.warning(item[1])
+ 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))