import { getRun } from "@/lib/db"; import { jobManager } from "@/lib/jobs"; export const runtime = "nodejs"; export const dynamic = "force-dynamic"; export async function POST( _request: Request, { params }: { params: Promise<{ id: string }> } ) { try { const { id } = await params; const run = getRun(Number(id)); if (!run) { return Response.json({ error: "run not found" }, { status: 404 }); } if (run.status !== "running" && run.status !== "queued") { return Response.json( { error: `run ${run.id} 已结束(${run.status})` }, { status: 409 } ); } const result = jobManager.stopRun(run.id); if (!result.ok) { return Response.json( { error: result.message ?? "停止失败" }, { status: 409 } ); } return Response.json(result.run ?? getRun(run.id)); } catch (err) { return Response.json({ error: (err as Error).message }, { status: 500 }); } }