25 lines
796 B
TypeScript
25 lines
796 B
TypeScript
import { jsonError, jsonOk, readJsonBody } from "@/lib/server/api";
|
|
import { assertInternalWorkerToken, PublicApiAuthError } from "@/lib/server/public-api-auth";
|
|
import { runWorkerTick } from "@/lib/server/task-manager";
|
|
|
|
export const runtime = "nodejs";
|
|
|
|
export async function POST(request: Request) {
|
|
try {
|
|
assertInternalWorkerToken(request);
|
|
const body = await readJsonBody<{
|
|
workerId?: string;
|
|
limit?: number;
|
|
}>(request);
|
|
const result = await runWorkerTick({
|
|
request,
|
|
workerId: body.workerId,
|
|
limit: typeof body.limit === "number" ? body.limit : undefined
|
|
});
|
|
return jsonOk(result);
|
|
} catch (error) {
|
|
if (error instanceof PublicApiAuthError) return jsonError(error.message, error.status);
|
|
return jsonError(error, 500);
|
|
}
|
|
}
|