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