From 5f387fa2729196eca10ebf43d62099ecf12d2d96 Mon Sep 17 00:00:00 2001 From: Kenneth Kehl <@kkehl@flexion.us> Date: Thu, 7 Aug 2025 11:16:24 -0700 Subject: [PATCH] use greenlets for cache generation --- app/aws/s3.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/app/aws/s3.py b/app/aws/s3.py index 5d081d8b0..37ffe7aa3 100644 --- a/app/aws/s3.py +++ b/app/aws/s3.py @@ -288,17 +288,18 @@ def get_s3_files(): ) count = 0 try: - for object_key in object_keys: - read_s3_file(bucket_name, object_key, s3res) - count = count + 1 - gevent.sleep(0.2) + greenlets = [ + gevent.spawn(read_s3_file, bucket_name, object_key, s3res) + for object_key in object_keys + ] + gevent.joinall(greenlets) except Exception: current_app.logger.exception( - f"Trouble reading {object_key} which is # {count} during cache regeneration" + f"Trouble reading object_key which is # {count} during cache regeneration" ) except OSError as e: current_app.logger.exception( - f"Egress proxy issue reading {object_key} which is # {count}" + f"Egress proxy issue reading object_key which is # {count}" ) raise e