From 72495d4343377d825efa1b31c892d7e41ccd3922 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Simon=20K=C3=BCnzel?= <simonk@fsmpi.rwth-aachen.de>
Date: Thu, 24 Apr 2025 00:25:11 +0200
Subject: [PATCH] Fix no commit/rollback warning in job routes

---
 api/src/api/routes/job.py | 31 ++++++++++++++-----------------
 1 file changed, 14 insertions(+), 17 deletions(-)

diff --git a/api/src/api/routes/job.py b/api/src/api/routes/job.py
index 78c8f5d..d85b472 100644
--- a/api/src/api/routes/job.py
+++ b/api/src/api/routes/job.py
@@ -133,22 +133,19 @@ def api_route_get_job_status():
         for val in json_request.get_array("job_ids")
     ]
     
-    def _trans(session: SessionDb):
-        limited_jobs = session.scalars(
-            Job.select(api_user_ac(), [])
-            .where(Job.id.in_(job_ids))
-            .options(orm.load_only(Job.id, Job.state, Job.run_start_time, Job.run_end_time))
-        ).all()
-        return {
-            "jobs": {
-                job.id: {
-                    # TODO This is not really using the serialization API
-                    "state": job.state.value,
-                    "run_start_time": None if job.run_start_time is None else format_standard_datetime(job.run_start_time),
-                    "run_end_time": None if job.run_end_time is None else format_standard_datetime(job.run_end_time),
-                }
-                for job in limited_jobs
+    limited_jobs = database.query_all_and_expunge(
+        Job.select(api_user_ac(), [])
+        .where(Job.id.in_(job_ids))
+        .options(orm.load_only(Job.id, Job.state, Job.run_start_time, Job.run_end_time))
+    )
+    return {
+        "jobs": {
+            job.id: {
+                # TODO This is not really using the serialization API
+                "state": job.state.value,
+                "run_start_time": None if job.run_start_time is None else format_standard_datetime(job.run_start_time),
+                "run_end_time": None if job.run_end_time is None else format_standard_datetime(job.run_end_time),
             }
+            for job in limited_jobs
         }
-    
-    return database.execute_read_transaction(_trans)
+    }
-- 
GitLab