fix: status

This commit is contained in:
Gergő Móricz 2025-01-19 17:33:59 +01:00
parent 513f61a2d1
commit 6637dce626
2 changed files with 6 additions and 4 deletions

View File

@ -12,8 +12,7 @@ import {
getDoneJobsOrdered,
getDoneJobsOrderedLength,
getThrottledJobs,
isCrawlFinished,
isCrawlFinishedLocked,
isCrawlKickoffFinished,
} from "../../lib/crawl-redis";
import { getScrapeQueue } from "../../services/queue-service";
import {
@ -117,8 +116,7 @@ export async function crawlStatusController(
const status: Exclude<CrawlStatusResponse, ErrorResponse>["status"] =
sc.cancelled
? "cancelled"
: validJobStatuses.every((x) => x[1] === "completed") &&
(await isCrawlFinishedLocked(req.params.jobId) || await isCrawlFinished(req.params.jobId))
: validJobStatuses.every((x) => x[1] === "completed") && (sc.crawlerOptions ? await isCrawlKickoffFinished(req.params.jobId) : true)
? "completed"
: "scraping";

View File

@ -132,6 +132,10 @@ export async function isCrawlFinished(id: string) {
);
}
export async function isCrawlKickoffFinished(id: string) {
return await redisConnection.get("crawl:" + id + ":kickoff:finish") !== null
}
export async function isCrawlFinishedLocked(id: string) {
return await redisConnection.exists("crawl:" + id + ":finish");
}