From a77ade089049ba81daef06b5fb0bfbebed85a80b Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Mon, 22 Apr 2024 19:45:25 +0800 Subject: [PATCH] fix: export all items job stuck --- packages/api/src/jobs/integration/export_all_items.ts | 10 +++++----- packages/api/src/services/library_item.ts | 6 +++++- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/packages/api/src/jobs/integration/export_all_items.ts b/packages/api/src/jobs/integration/export_all_items.ts index f3bf8950d..f642f8e39 100644 --- a/packages/api/src/jobs/integration/export_all_items.ts +++ b/packages/api/src/jobs/integration/export_all_items.ts @@ -50,9 +50,9 @@ export const exportAllItems = async (jobData: ExportAllItemsJobData) => { const maxItems = 100 const limit = 10 - let offset = 0 + let exported = 0 // get max 100 most recent items from the database - while (offset < maxItems) { + for (let offset = 0; offset < maxItems; offset += limit) { const libraryItems = await findRecentLibraryItems(userId, limit, offset) if (libraryItems.length === 0) { logger.info('no library items found', { @@ -92,17 +92,17 @@ export const exportAllItems = async (jobData: ExportAllItemsJobData) => { updated, }) - offset += libraryItems.length + exported += libraryItems.length logger.info('exported items', { ...jobData, - offset, + exported, }) } logger.info('exported all items', { ...jobData, - offset, + exported, }) // clear task name in integration diff --git a/packages/api/src/services/library_item.ts b/packages/api/src/services/library_item.ts index 832aea3fa..fb7f5957c 100644 --- a/packages/api/src/services/library_item.ts +++ b/packages/api/src/services/library_item.ts @@ -1216,7 +1216,11 @@ export const batchUpdateLibraryItems = async ( await authTrx( async (tx) => - getQueryBuilder(userId, tx).update(LibraryItem).set(values).execute(), + getQueryBuilder(userId, tx) + .take(searchArgs.size) + .update(LibraryItem) + .set(values) + .execute(), undefined, userId )