From bbb46fba3dddb20c0a9e067899fe29b8e98233bb Mon Sep 17 00:00:00 2001
From: Thomas Kluyver <thomas@kluyver.me.uk>
Date: Tue, 28 Jun 2022 17:18:39 +0100
Subject: [PATCH] Add new database entries for repeat requests

---
 webservice/webservice.py | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/webservice/webservice.py b/webservice/webservice.py
index 4dc675beb..a861aadbb 100644
--- a/webservice/webservice.py
+++ b/webservice/webservice.py
@@ -935,6 +935,15 @@ class ActionsServer:
         return queued_msg.encode()
 
     async def handle_repeat(self, rid, instrument, cycle, proposal, runnr):
+        request_time = datetime.now().strftime('%Y-%m-%dT%H:%M:%S')
+
+        with self.job_db:
+            cur = self.job_db.execute(
+                "INSERT INTO requests VALUES (NULL, ?, ?, ?, 'CORRECT', ?)",
+                (rid, proposal, int(runnr), request_time)
+            )
+            req_id = cur.lastrowid
+
         reports_dir = Path(self.config['correct']['reports-folder'].format(
             instrument=instrument, cycle=cycle, proposal=proposal, runs=runnr
         ))
@@ -966,9 +975,17 @@ class ActionsServer:
             logging.info("Repeating correction for %s from %s", karabo_id, mddir)
 
             cmd = ['python', '-m', 'xfel_calibrate.repeat', mddir]
+
+            with self.job_db:
+                cur = self.job_db.execute(
+                    "INSERT INTO executions VALUES (NULL, ?, ?, NULL, ?, NULL)",
+                    (req_id, shlex.join(cmd), karabo_id)
+                )
+                exec_id = cur.lastrowid
+
             await run_action(
                 self.job_db, cmd, self.mode,
-                proposal, runnr, rid
+                proposal, runnr, exec_id
             )
 
     async def handle_dark_request(
-- 
GitLab