From 60ea97c51cbd44efe8699958df13f05007884407 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=B3ricz=20Gerg=C5=91?= Date: Thu, 28 Nov 2024 08:49:03 +0100 Subject: [PATCH] fix(log_job): infinite loop --- apps/api/src/services/logging/log_job.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/apps/api/src/services/logging/log_job.ts b/apps/api/src/services/logging/log_job.ts index 642b769d..aaecad25 100644 --- a/apps/api/src/services/logging/log_job.ts +++ b/apps/api/src/services/logging/log_job.ts @@ -42,7 +42,8 @@ export async function logJob(job: FirecrawlJob, force: boolean = false) { }; if (force) { - while (true) { + let i = 0, done = false; + while (i++ <= 10) { try { const { error } = await supabase_service .from("firecrawl_jobs") @@ -51,6 +52,7 @@ export async function logJob(job: FirecrawlJob, force: boolean = false) { logger.error("Failed to log job due to Supabase error -- trying again", { error, scrapeId: job.job_id }); await new Promise((resolve) => setTimeout(() => resolve(), 75)); } else { + done = true; break; } } catch (error) { @@ -58,7 +60,11 @@ export async function logJob(job: FirecrawlJob, force: boolean = false) { await new Promise((resolve) => setTimeout(() => resolve(), 75)); } } - logger.debug("Job logged successfully!", { scrapeId: job.job_id }); + if (done) { + logger.debug("Job logged successfully!", { scrapeId: job.job_id }); + } else { + logger.error("Failed to log job!", { scrapeId: job.job_id }); + } } else { const { error } = await supabase_service .from("firecrawl_jobs")