Skip to content

Commit f722267

Browse files
authored
Update sequencer.py to read the job state
1 parent af2ffa4 commit f722267

File tree

1 file changed

+16
-18
lines changed

1 file changed

+16
-18
lines changed

src/osa/scripts/sequencer.py

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import sys
1212
from decimal import Decimal
1313
import datetime
14-
14+
import re
1515
from osa import osadb
1616
from osa.configs import options
1717
from osa.configs.config import cfg
@@ -210,34 +210,32 @@ def update_sequence_status(seq_list):
210210

211211

212212
def check_catB_status(seq):
213-
catbstatus = 'None'
213+
catbstatus = "None"
214+
214215
if seq.type == "DATA":
215216
directory = options.directory
216-
# Buscar archivos "closed"
217+
217218
closed_files = list(directory.glob(f"catB*{seq.run}*.closed"))
218-
if any(f.exists() for f in closed_files):
219-
catbstatus = 'CLOSED'
219+
if closed_files:
220+
catbstatus = "CLOSED"
220221
else:
221222
log_files = list(options.log_directory.glob(f"catB_calibration_{seq.run}_*.err"))
223+
if log_files:
224+
filename = sorted(log_files)[-1].name
225+
match = re.search(f"catB_calibration_{seq.run}_(\d+).err", filename)
226+
if match:
227+
job_id = match.group(1)
222228

223-
if log_files and any(f.exists() for f in log_files):
224-
status_set = False
225-
for f in log_files:
226-
if f.exists():
227-
with f.open("r") as fh:
228-
for line in fh:
229-
if "CRITICAL" in line:
230-
seq.catbstatus = 'FAILED'
231-
status_set = True
229+
sacct_output = run_sacct(job_id)
230+
sacct_info = get_sacct_output(sacct_output)
232231

233-
234-
# Si ningún log tenía CRITICAL/ERROR pero existen archivos
235-
if not status_set and any(f.exists() for f in log_files):
236-
catbstatus = 'RUNNING'
232+
if not sacct_info.empty:
233+
catbstatus = sacct_info.iloc[0]["State"]
237234

238235
return catbstatus
239236

240237

238+
241239
def get_status_for_sequence(sequence, data_level) -> int:
242240
"""
243241
Get number of files produced for a given sequence and data level.

0 commit comments

Comments
 (0)