From b65e2ef9bc910df13a335227311962eb9bcd3e8b Mon Sep 17 00:00:00 2001
From: Ian Grant <ian.conway.grant@gmail.com>
Date: Thu, 15 May 2025 16:55:38 -0400
Subject: [PATCH] refactor: log detailed info for unsuccessful jobs, not just
 IDs

---
 maap_utils/JobManager.py | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/maap_utils/JobManager.py b/maap_utils/JobManager.py
index 087b8e1..489857f 100644
--- a/maap_utils/JobManager.py
+++ b/maap_utils/JobManager.py
@@ -230,8 +230,16 @@ class JobManager:
         for state, count in counts.items():
             logging.info(f"  {state}: {count}")
 
-        if counts["Failed"] > 0:
-            failed_ids = [job.job_id for job in self.ledger.get_failed_jobs()]
-            logging.info(f"\nFailed job IDs:\n  {', '.join(failed_ids)}")
+        successful_jobs = set(self.ledger.get_jobs_in_state("Succeeded"))
+        unsuccessful_jobs = set(self.ledger.get_jobs()) - successful_jobs
+
+        # Write ids, final state, and kwargs of unsuccessful jobs to log
+        logging.info(f"See full log in {self.output_dir} for details"
+                     "on unsuccessful jobs.")
+
+        for job in unsuccessful_jobs:
+            logging.debug(f"\nFailed job ID: {job.job_id}")
+            logging.debug(f"  Final state: {job.get_status()}")
+            logging.debug(f"  Job kwargs: {job.kwargs}")
 
         return counts
-- 
GitLab