import request from "@/utils/request"; const API_PATH = "/task/cronjob/job"; const JobAPI = { getSchedulerStatus() { return request>({ url: `${API_PATH}/scheduler/status`, method: "get", }); }, getSchedulerJobs() { return request>({ url: `${API_PATH}/scheduler/jobs`, method: "get", }); }, startScheduler() { return request({ url: `${API_PATH}/scheduler/start`, method: "post", }); }, pauseScheduler() { return request({ url: `${API_PATH}/scheduler/pause`, method: "post", }); }, resumeScheduler() { return request({ url: `${API_PATH}/scheduler/resume`, method: "post", }); }, shutdownScheduler() { return request({ url: `${API_PATH}/scheduler/shutdown`, method: "post", }); }, clearAllJobs() { return request({ url: `${API_PATH}/scheduler/jobs/clear`, method: "delete", }); }, getSchedulerConsole() { return request>({ url: `${API_PATH}/scheduler/console`, method: "get", }); }, syncJobsToDb() { return request>({ url: `${API_PATH}/scheduler/sync`, method: "post", }); }, pauseJob(jobId: string) { return request({ url: `${API_PATH}/task/pause/${jobId}`, method: "post", }); }, resumeJob(jobId: string) { return request({ url: `${API_PATH}/task/resume/${jobId}`, method: "post", }); }, runJobNow(jobId: string) { return request({ url: `${API_PATH}/task/run/${jobId}`, method: "post", }); }, removeJob(jobId: string) { return request({ url: `${API_PATH}/task/remove/${jobId}`, method: "delete", }); }, getJobLogList(query: JobLogPageQuery) { return request>>({ url: `${API_PATH}/log/list`, method: "get", params: query, }); }, getJobLogDetail(id: number) { return request>({ url: `${API_PATH}/log/detail/${id}`, method: "get", }); }, deleteJobLog(ids: number[]) { return request({ url: `${API_PATH}/log/delete`, method: "delete", data: ids, }); }, }; export default JobAPI; export interface SchedulerStatus { status: string; is_running: boolean; job_count: number; } export interface SchedulerJob { id: string; name: string; trigger: string; next_run_time?: string; status: string; } export interface JobLogPageQuery extends PageQuery { job_id?: string; job_name?: string; status?: string; trigger_type?: string; } export interface JobLogTable extends BaseType { job_id: string; job_name?: string; trigger_type?: string; status: string; next_run_time?: string; job_state?: string; result?: string; error?: string; created_time?: string; updated_time?: string; }