Skip to content
Snippets Groups Projects

[Webservice] Restructure database to give more meaningful success/failure information

Merged Thomas Kluyver requested to merge webservice-refactor-db into master
1 file
+ 1
1
Compare changes
  • Side-by-side
  • Inline
+ 12
10
@@ -2,12 +2,11 @@ import argparse
import sqlite3
parser = argparse.ArgumentParser(
description='Update run status at MDC for a given run id.')
description='Check jobs for a given proposal & run number')
parser.add_argument('--sqlite-fpath', type=str, help='Path to sqlite file path',
default='/home/xcal/calibration_webservice/webservice/webservice_jobs.sqlite') # noqa
parser.add_argument('--run', type=str, help='The run number required '
' for checking its job status.')
parser.add_argument('--proposal', type=str, help='Proposal numer')
default='webservice_jobs.sqlite')
parser.add_argument('--proposal', type=str, required=True, help='Proposal number')
parser.add_argument('--run', type=int, required=True, help='Run number')
args = vars(parser.parse_args())
@@ -16,11 +15,14 @@ proposal = args['proposal'].zfill(6)
run = args['run']
conn = sqlite3.connect(sqlite_fpath)
c = conn.cursor()
c.execute("SELECT * FROM jobs")
c = conn.execute(
"SELECT status, elapsed, karabo_id, det_type, action FROM "
"slurm_jobs INNER JOIN executions USING (exec_id) "
"INNER JOIN requests USING (req_id) "
"WHERE proposal = ? AND run = ?",
(proposal, run)
)
for r in c.fetchall():
rid, jobid, db_proposal, db_run, status, time, _, _ = r
if db_proposal == proposal and db_run == run:
print(r)
print(r)
Loading