Skip to content

Commit 28c1dd1

Browse files
author
Scott Collins
committed
Added retry logic for any failed tranfers during initial ingress attempt
1 parent a714f7b commit 28c1dd1

2 files changed

Lines changed: 22 additions & 1 deletion

File tree

src/pds/ingress/client/pds_ingress_client.py

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -847,11 +847,27 @@ def main(args):
847847
refresh_thread.start()
848848

849849
try:
850-
init_batch_progress_bars(args.num_threads)
850+
init_batch_progress_bars(min(args.num_threads, len(request_batchs)))
851851
perform_ingress(request_batchs, node_id, args.force_overwrite, config["API_GATEWAY"])
852852
finally:
853853
close_batch_progress_bars()
854854

855+
logger.info("All batches processed")
856+
857+
try:
858+
if len(SUMMARY_TABLE["failed"]) > 0:
859+
logger.info("----------------------------------------")
860+
logger.info("Reattempting ingress for failed files...")
861+
862+
failed_ingresses = SUMMARY_TABLE["failed"]
863+
batched_failed_ingresses = list(batched(failed_ingresses, batch_size))
864+
failed_request_batchs = prepare_batches(batched_failed_ingresses, args.prefix)
865+
866+
init_batch_progress_bars(min(args.num_threads, len(failed_request_batchs)))
867+
perform_ingress(failed_request_batchs, node_id, args.force_overwrite, config["API_GATEWAY"])
868+
finally:
869+
close_batch_progress_bars()
870+
855871
# Flush all logged statements to CloudWatch Logs
856872
log_util.CLOUDWATCH_HANDLER.flush()
857873
else:

src/pds/ingress/util/progress_util.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,12 @@ def update_upload_pbar_filename(upload_pbar, filename):
279279

280280
def close_batch_progress_bars():
281281
"""Closes all Batch progress bars and associated Upload sub-bars."""
282+
global BATCH_BARS, TOTAL_INGRESS_BAR # noqa F824
283+
282284
with BATCH_SEMAPHORE:
283285
for batch_pbar in BATCH_BARS:
284286
batch_pbar.upload_pbar.close()
285287
batch_pbar.close()
288+
289+
BATCH_BARS.clear()
290+
TOTAL_INGRESS_BAR = None

0 commit comments

Comments
 (0)