diff --git a/web/src/apis/scheduler_api.js b/web/src/apis/scheduler_api.js index 6b2ee789..b5371547 100644 --- a/web/src/apis/scheduler_api.js +++ b/web/src/apis/scheduler_api.js @@ -34,20 +34,20 @@ export function buildQueryString(params = {}) { // ===== 查询类(apiGet)===== // 分页列出定时任务 -export const listTasksApi = (params = {}) => - apiGet(`${BASE_URL}/tasks${buildQueryString(params)}`) +export const listTasksApi = (params = {}) => apiGet(`${BASE_URL}/tasks${buildQueryString(params)}`) // 获取任务详情 -export const getTaskApi = (taskId) => - apiGet(`${BASE_URL}/tasks/${taskId}`) +export const getTaskApi = (taskId) => apiGet(`${BASE_URL}/tasks/${taskId}`) // 列出即将执行的任务(未来 24 小时内) export const listUpcomingApi = (params = {}) => apiGet(`${BASE_URL}/tasks/upcoming${buildQueryString(params)}`) // 按状态计数任务 -export const countByStatusApi = () => - apiGet(`${BASE_URL}/tasks/count-by-status`) +export const countByStatusApi = () => apiGet(`${BASE_URL}/tasks/count-by-status`) + +// 列出工作台异常任务聚合(死信 / 连续失败 / 长期未执行) +export const listAnomaliesApi = () => apiGet(`${BASE_URL}/tasks/anomalies`) // 列出任务执行日志 export const listRunLogsApi = (taskId, params = {}) => @@ -58,20 +58,17 @@ export const listAllRunLogsApi = (params = {}) => apiGet(`${BASE_URL}/run-logs${buildQueryString(params)}`) // 获取执行日志详情 -export const getRunLogApi = (runId) => - apiGet(`${BASE_URL}/run-logs/${runId}`) +export const getRunLogApi = (runId) => apiGet(`${BASE_URL}/run-logs/${runId}`) // 列出 handler 聚合摘要 -export const listHandlerSummaryApi = () => - apiGet(`${BASE_URL}/handlers/summary`) +export const listHandlerSummaryApi = () => apiGet(`${BASE_URL}/handlers/summary`) // 列出日聚合统计 export const listDailyStatsApi = (params = {}) => apiGet(`${BASE_URL}/stats/daily${buildQueryString(params)}`) // 获取调度器健康状态 -export const getHealthApi = () => - apiGet(`${BASE_URL}/health`) +export const getHealthApi = () => apiGet(`${BASE_URL}/health`) // ===== 回收站(apiAdminGet)===== @@ -82,24 +79,19 @@ export const listDeletedTasksApi = (params = {}) => // ===== 写操作类(apiAdmin*)===== // 创建定时任务 -export const createTaskApi = (data) => - apiAdminPost(`${BASE_URL}/tasks`, data) +export const createTaskApi = (data) => apiAdminPost(`${BASE_URL}/tasks`, data) // 更新定时任务(部分更新) -export const updateTaskApi = (taskId, data) => - apiAdminPut(`${BASE_URL}/tasks/${taskId}`, data) +export const updateTaskApi = (taskId, data) => apiAdminPut(`${BASE_URL}/tasks/${taskId}`, data) // 删除定时任务(软删除) -export const deleteTaskApi = (taskId) => - apiAdminDelete(`${BASE_URL}/tasks/${taskId}`) +export const deleteTaskApi = (taskId) => apiAdminDelete(`${BASE_URL}/tasks/${taskId}`) // 暂停任务 -export const pauseTaskApi = (taskId) => - apiAdminPost(`${BASE_URL}/tasks/${taskId}/pause`) +export const pauseTaskApi = (taskId) => apiAdminPost(`${BASE_URL}/tasks/${taskId}/pause`) // 恢复任务 -export const resumeTaskApi = (taskId) => - apiAdminPost(`${BASE_URL}/tasks/${taskId}/resume`) +export const resumeTaskApi = (taskId) => apiAdminPost(`${BASE_URL}/tasks/${taskId}/resume`) // 手动触发任务执行 // payload 为 null/undefined 时不发送请求体;为对象时发送 { payload: {...} } @@ -112,12 +104,22 @@ export const triggerTaskApi = (taskId, payload) => { } // 恢复已删除任务 -export const restoreTaskApi = (taskId) => - apiAdminPost(`${BASE_URL}/tasks/${taskId}/restore`) +export const restoreTaskApi = (taskId) => apiAdminPost(`${BASE_URL}/tasks/${taskId}/restore`) // 硬删除任务(不可恢复) -export const hardDeleteTaskApi = (taskId) => - apiAdminDelete(`${BASE_URL}/tasks/${taskId}/hard`) +export const hardDeleteTaskApi = (taskId) => apiAdminDelete(`${BASE_URL}/tasks/${taskId}/hard`) + +// 批量暂停任务 +export const batchPauseTasksApi = (taskIds) => + apiAdminPost(`${BASE_URL}/tasks/batch-pause`, { task_ids: taskIds }) + +// 批量恢复任务 +export const batchResumeTasksApi = (taskIds) => + apiAdminPost(`${BASE_URL}/tasks/batch-resume`, { task_ids: taskIds }) + +// 批量删除任务(软删除) +export const batchDeleteTasksApi = (taskIds) => + apiAdminPost(`${BASE_URL}/tasks/batch-delete`, { task_ids: taskIds }) // 回收僵尸执行记录 export const reclaimStaleRunsApi = (data = {}) =>