diff options
| author | Mohamed Bassem <me@mbassem.com> | 2025-09-06 06:27:40 +0000 |
|---|---|---|
| committer | Mohamed Bassem <me@mbassem.com> | 2025-09-06 06:27:40 +0000 |
| commit | a0dd73f5aaba3a9048f937a077357f5a75168ed0 (patch) | |
| tree | eaf575afb9bee20e618fc2999cda8bc7a069a236 /apps/workers | |
| parent | 3760d23abc4d02eb2c3823b8aa322f53914fd9b6 (diff) | |
| download | karakeep-a0dd73f5aaba3a9048f937a077357f5a75168ed0.tar.zst | |
fix: Dont attempt to fetch rss if the user if out of quota
Diffstat (limited to 'apps/workers')
| -rw-r--r-- | apps/workers/workers/feedWorker.ts | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/apps/workers/workers/feedWorker.ts b/apps/workers/workers/feedWorker.ts index 62106fc8..74b5f65c 100644 --- a/apps/workers/workers/feedWorker.ts +++ b/apps/workers/workers/feedWorker.ts @@ -9,6 +9,7 @@ import { z } from "zod"; import type { ZFeedRequestSchema } from "@karakeep/shared/queues"; import { db } from "@karakeep/db"; import { rssFeedImportsTable, rssFeedsTable } from "@karakeep/db/schema"; +import { QuotaService } from "@karakeep/shared-server"; import logger from "@karakeep/shared/logger"; import { FeedQueue } from "@karakeep/shared/queues"; import { BookmarkTypes } from "@karakeep/shared/types/bookmarks"; @@ -94,6 +95,18 @@ async function run(req: DequeuedJob<ZFeedRequestSchema>) { `[feed][${jobId}] Feed with id ${req.data.feedId} not found`, ); } + + // If the user doesn't have bookmark quota, don't bother with fetching the feed + { + const quotaResult = await QuotaService.canCreateBookmark(db, feed.userId); + if (!quotaResult.result) { + logger.debug( + `[feed][${jobId}] User ${feed.userId} doesn't have enough quota to create bookmarks. Skipping feed fetching.`, + ); + return; + } + } + logger.info( `[feed][${jobId}] Starting fetching feed "${feed.name}" (${feed.id}) ...`, ); |
