From 5c208f82793a07389839638e5f27137b123ce382 Mon Sep 17 00:00:00 2001
From: Cyril Danilevski <cyril.danilevski@xfel.eu>
Date: Wed, 20 Oct 2021 13:31:29 +0200
Subject: [PATCH] webservice: correctly parse all submitted slurm jobs

---
 webservice/webservice.py | 23 ++++++++++++++++-------
 1 file changed, 16 insertions(+), 7 deletions(-)

diff --git a/webservice/webservice.py b/webservice/webservice.py
index 4b26e03b9..6bbeeeeef 100644
--- a/webservice/webservice.py
+++ b/webservice/webservice.py
@@ -513,13 +513,22 @@ async def run_action(job_db, cmd, mode, proposal, run, rid) -> str:
         rstr = stdout.decode()
 
         for r in rstr.split("\n"):
-            if "Submitted job:" in r:
-                _, jobid = r.split(":")
-                c.execute(
-                    "INSERT INTO jobs VALUES (?, ?, ?, ?, 'PD', ?, ?, ?)",
-                    (rid, jobid.strip(), proposal, run,
-                     datetime.now().isoformat(), cmd[3], cmd[4])
-                )
+            if "Submitted the following SLURM jobs:" in r:
+                _, jobids = r.split(":")
+
+                jobs = []
+                for jobid in jobids.split(','):
+                    jobs.append((rid,
+                                 jobid.strip(),
+                                 proposal,
+                                 run,
+                                 datetime.now().isoformat(),
+                                 cmd[3],
+                                 cmd[4])
+                                )
+                c.executemany(
+                        "INSERT INTO jobs VALUES (?, ?, ?, ?, 'PD', ?, ?, ?)",
+                        jobs)
         job_db.commit()
 
     else:  # mode == "sim"
-- 
GitLab