Files
MineGeo/lib/process-uploads.ts

23 lines
724 B
TypeScript

import "server-only";
import { after } from "next/server";
import { admin } from "./supabase";
import { processFabricJob } from "./fabric-jobs";
export function processUploadAfterResponse(datasetId: string) {
after(async () => {
try {
const deadlineAt = Date.now() + 250000;
for (let attempt = 0; attempt < 3; attempt++) {
const state = await processFabricJob(admin(), datasetId, deadlineAt);
if (state !== "queued" || deadlineAt - Date.now() < 20000) break;
await new Promise((resolve) => setTimeout(resolve, 2500));
}
} catch (error) {
console.error(
"Vercel upload worker:",
error instanceof Error ? error.message : error,
);
}
});
}