From d02854f5b8638c914b18c7259bc44852ec29ac9b Mon Sep 17 00:00:00 2001 From: Anna Headley <845363+hackartisan@users.noreply.github.com> Date: Wed, 11 Oct 2023 13:26:47 -0400 Subject: [PATCH] Reduce resources used on 2nd async with a semaphore --- app/services/card_image_loading_service.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/services/card_image_loading_service.rb b/app/services/card_image_loading_service.rb index f7dd2d8..d9081e8 100644 --- a/app/services/card_image_loading_service.rb +++ b/app/services/card_image_loading_service.rb @@ -33,9 +33,10 @@ def import_disk(disk) logger.info("Fetching disk #{disk} file list") filenames = disk_array(disk) progress_bar.total += filenames.count - Sync do |task| + Sync do + semaphore = Async::Semaphore.new(10) filenames.map do |file_name| - task.async do + semaphore.async do progress_bar.increment find_or_create_card_image(file_name) end