From 316ee1833673c2eb6f76f3206d399d9fcaef8202 Mon Sep 17 00:00:00 2001 From: rkansal47 Date: Wed, 24 Jul 2024 02:40:53 -0700 Subject: [PATCH] try except loop for xrootd errors --- src/HHbbVV/run_utils.py | 1 - src/run.py | 14 +++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/HHbbVV/run_utils.py b/src/HHbbVV/run_utils.py index 36e9773b..ff1919fd 100644 --- a/src/HHbbVV/run_utils.py +++ b/src/HHbbVV/run_utils.py @@ -142,7 +142,6 @@ def get_fileset( for subsample, fnames in sample_set.items(): fileset[sample][subsample] = len(fnames) if max_files is not None: - print("Max files") fileset[sample][subsample] = min(fileset[sample][subsample], max_files) else: diff --git a/src/run.py b/src/run.py index cf8ce7d8..21721c95 100755 --- a/src/run.py +++ b/src/run.py @@ -94,7 +94,19 @@ def run(p: processor, fileset: dict, args): maxchunks=None if args.maxchunks == 0 else args.maxchunks, ) - out, metrics = run(fileset, "Events", processor_instance=p) + for i in range(5): + try: + out, metrics = run(fileset, "Events", processor_instance=p) + break + except OSError as e: + import time + + if i < 4: + print(f"Caught OSError: {e}") + print("Retrying in 1 minute...") + time.sleep(60) + else: + raise e with (outdir / f"{args.starti}-{args.endi}.pkl").open("wb") as f: pickle.dump(out, f)