diff options
Diffstat (limited to 'apps/workers')
| -rw-r--r-- | apps/workers/crawlerWorker.ts | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/apps/workers/crawlerWorker.ts b/apps/workers/crawlerWorker.ts index eec8cd98..91b0a03f 100644 --- a/apps/workers/crawlerWorker.ts +++ b/apps/workers/crawlerWorker.ts @@ -124,17 +124,37 @@ export class CrawlerWorker { worker.on("completed", (job) => { const jobId = job?.id ?? "unknown"; logger.info(`[Crawler][${jobId}] Completed successfully`); + const bookmarkId = job?.data.bookmarkId; + if (bookmarkId) { + changeBookmarkStatus(bookmarkId, "success"); + } }); worker.on("failed", (job, error) => { const jobId = job?.id ?? "unknown"; logger.error(`[Crawler][${jobId}] Crawling job failed: ${error}`); + const bookmarkId = job?.data.bookmarkId; + if (bookmarkId) { + changeBookmarkStatus(bookmarkId, "failure"); + } }); return worker; } } +async function changeBookmarkStatus( + bookmarkId: string, + crawlStatus: "success" | "failure", +) { + await db + .update(bookmarkLinks) + .set({ + crawlStatus, + }) + .where(eq(bookmarkLinks.id, bookmarkId)); +} + async function getBookmarkUrl(bookmarkId: string) { const bookmark = await db.query.bookmarkLinks.findFirst({ where: eq(bookmarkLinks.id, bookmarkId), |
