23 lines
724 B
TypeScript
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,
|
|
);
|
|
}
|
|
});
|
|
}
|