aboutsummaryrefslogtreecommitdiffstats
path: root/apps/workers/crawlerWorker.ts
diff options
context:
space:
mode:
Diffstat (limited to 'apps/workers/crawlerWorker.ts')
-rw-r--r--apps/workers/crawlerWorker.ts20
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),