diff --git a/server/api/scheduler/executions.get.ts b/server/api/scheduler/executions.get.ts new file mode 100644 index 0000000..2c19395 --- /dev/null +++ b/server/api/scheduler/executions.get.ts @@ -0,0 +1,16 @@ +import { listExecutions } from "../../service/scheduler"; + +export default defineWrappedResponseHandler(async (event) => { + const query = getQuery(event); + const page = query.page ? Number(query.page) : 1; + const pageSize = query.pageSize ? Number(query.pageSize) : 20; + + const result = await listExecutions({ + page, + pageSize, + taskId: query.taskId as string | undefined, + status: query.status as string | undefined, + }); + + return R.success(result); +}); diff --git a/server/api/scheduler/stats.get.ts b/server/api/scheduler/stats.get.ts new file mode 100644 index 0000000..f90e04c --- /dev/null +++ b/server/api/scheduler/stats.get.ts @@ -0,0 +1,10 @@ +import { getStats } from "../../service/scheduler"; +import { getJobCount } from "../../scheduler/engine"; + +export default defineWrappedResponseHandler(async () => { + const stats = await getStats(); + return R.success({ + ...stats, + activeJobs: getJobCount(), + }); +});