Python: Always log errors before writing diagnostics

So we have the info in the logs if the diagnostics processing fails
This commit is contained in:
Rasmus Wriedt Larsen
2024-07-09 13:46:37 +02:00
parent 31a5a7aebc
commit a8b976b389

View File

@@ -274,16 +274,16 @@ def _extract_loop(proc_id, queue, trap_dir, archive, options, reply_queue, logge
# Syntax errors have already been handled in extractor.py
reply_queue.put(("FAILURE", unit, None))
except RecursionError as ex:
logger.error("Failed to extract %s: %s", unit, ex)
logger.traceback(WARN)
error = recursion_error_message(ex, unit)
diagnostics_writer.write(error)
logger.error("Failed to extract %s: %s", unit, ex)
logger.traceback(WARN)
reply_queue.put(("FAILURE", unit, None))
except Exception as ex:
error = internal_error_message(ex, unit)
diagnostics_writer.write(error)
logger.error("Failed to extract %s: %s", unit, ex)
logger.traceback(WARN)
error = internal_error_message(ex, unit)
diagnostics_writer.write(error)
reply_queue.put(("FAILURE", unit, None))
else:
reply_queue.put(("SUCCESS", unit, None))