From a298f1264941d7c3fbbe08c4cc33f60f1cf61158 Mon Sep 17 00:00:00 2001 From: "aditya.chandel" <> Date: Sat, 25 Jan 2025 18:01:06 -0700 Subject: [PATCH] Check for all locks in upper level, thus preventing unnecessary fetching --- .../booklore/service/metadata/BookMetadataService.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/booklore-api/src/main/java/com/adityachandel/booklore/service/metadata/BookMetadataService.java b/booklore-api/src/main/java/com/adityachandel/booklore/service/metadata/BookMetadataService.java index bbd9451c8..5d13feecd 100644 --- a/booklore-api/src/main/java/com/adityachandel/booklore/service/metadata/BookMetadataService.java +++ b/booklore-api/src/main/java/com/adityachandel/booklore/service/metadata/BookMetadataService.java @@ -96,6 +96,11 @@ public class BookMetadataService { List books = getBookEntities(request); for (BookEntity bookEntity : books) { try { + Boolean allFieldsLocked = bookEntity.getMetadata().getAllFieldsLocked(); + if (allFieldsLocked) { + log.info("Skipping metadata refresh for locked book: {}", bookEntity.getFileName()); + continue; + } Map metadataMap = fetchMetadataForBook(providers, bookEntity); if (providers.contains(GoodReads)) { Thread.sleep(ThreadLocalRandom.current().nextLong(500, 1500));