diff options
| author | Mohamed Bassem <me@mbassem.com> | 2025-10-26 12:50:32 +0000 |
|---|---|---|
| committer | Mohamed Bassem <me@mbassem.com> | 2025-10-26 12:50:32 +0000 |
| commit | 8a330dc2da1695c6700b491c2aece9b4675e32fc (patch) | |
| tree | 09e506f00e3b3f7faaf464babe02b7e9f34a3ffd /apps/workers | |
| parent | e43c7e0f1c6aa9424b4b8480ae181f0e413e5733 (diff) | |
| download | karakeep-8a330dc2da1695c6700b491c2aece9b4675e32fc.tar.zst | |
fix: Respect abort signal in admin maintenance jobs
Diffstat (limited to 'apps/workers')
3 files changed, 11 insertions, 1 deletions
diff --git a/apps/workers/workers/adminMaintenance/tasks/migrateLinkHtmlContent.ts b/apps/workers/workers/adminMaintenance/tasks/migrateLinkHtmlContent.ts index 467f2aa7..a9ae54a6 100644 --- a/apps/workers/workers/adminMaintenance/tasks/migrateLinkHtmlContent.ts +++ b/apps/workers/workers/adminMaintenance/tasks/migrateLinkHtmlContent.ts @@ -157,6 +157,12 @@ export async function runMigrateLargeLinkHtmlTask( let cursor: string | undefined; while (true) { + if (job.abortSignal.aborted) { + logger.warn( + `[adminMaintenance:migrate_large_link_html][${jobId}] Aborted`, + ); + break; + } const bookmarksToMigrate = await getBookmarksWithLargeInlineHtml( BATCH_SIZE, cursor, diff --git a/apps/workers/workers/adminMaintenance/tasks/tidyAssets.ts b/apps/workers/workers/adminMaintenance/tasks/tidyAssets.ts index 8732c7c4..792f9417 100644 --- a/apps/workers/workers/adminMaintenance/tasks/tidyAssets.ts +++ b/apps/workers/workers/adminMaintenance/tasks/tidyAssets.ts @@ -67,6 +67,10 @@ export async function runTidyAssetsTask( } for await (const asset of getAllAssets()) { + if (job.abortSignal.aborted) { + logger.warn(`[adminMaintenance:tidy_assets][${jobId}] Aborted`); + break; + } try { await handleAsset(asset, parseResult.data, jobId); } catch (error) { diff --git a/apps/workers/workers/adminMaintenanceWorker.ts b/apps/workers/workers/adminMaintenanceWorker.ts index af6aed22..03c3b964 100644 --- a/apps/workers/workers/adminMaintenanceWorker.ts +++ b/apps/workers/workers/adminMaintenanceWorker.ts @@ -43,7 +43,7 @@ export class AdminMaintenanceWorker { { concurrency: 1, pollIntervalMs: 1000, - timeoutSecs: 30, + timeoutSecs: 600, }, ); |
