|
|
@@ -1,110 +0,0 @@
|
|
|
-package cn.reghao.autodop.dmaster.monitor.service;
|
|
|
-
|
|
|
-import cn.reghao.autodop.common.http.DefaultWebRequest;
|
|
|
-import cn.reghao.autodop.dmaster.app.db.query.config.AppConfigQuery;
|
|
|
-import cn.reghao.autodop.dmaster.app.db.repository.AppRunningRepository;
|
|
|
-import cn.reghao.autodop.dmaster.machine.db.crud.MachineStatCrud;
|
|
|
-import cn.reghao.autodop.dmaster.machine.db.query.MachineQuery;
|
|
|
-import cn.reghao.autodop.dmaster.machine.db.query.MachineStatQuery;
|
|
|
-import cn.reghao.autodop.dmaster.monitor.db.MonitorJobCrudService;
|
|
|
-import cn.reghao.autodop.dmaster.monitor.model.po.JobId;
|
|
|
-import cn.reghao.autodop.dmaster.monitor.model.po.JobType;
|
|
|
-import cn.reghao.autodop.dmaster.monitor.model.po.MonitorJob;
|
|
|
-import cn.reghao.autodop.dmaster.monitor.service.job.AppHealthCheckJob;
|
|
|
-import cn.reghao.autodop.dmaster.monitor.service.job.MachineStatCheckJob;
|
|
|
-import cn.reghao.autodop.dmaster.notification.service.NotifyService;
|
|
|
-import lombok.extern.slf4j.Slf4j;
|
|
|
-import org.quartz.JobDataMap;
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
-
|
|
|
-/**
|
|
|
- * 监控任务需要的数据
|
|
|
- *
|
|
|
- * @author reghao
|
|
|
- * @date 2021-07-06 09:25:50
|
|
|
- */
|
|
|
-@Slf4j
|
|
|
-@Service
|
|
|
-public class MonitorJobData {
|
|
|
- private MonitorJobCrudService jobCrudService;
|
|
|
- private NotifyService notifyService;
|
|
|
- private MachineStatCrud statCrudService;
|
|
|
- private MachineStatQuery statQuery;
|
|
|
- private MachineQuery machineQuery;
|
|
|
- private AppRunningRepository runningRepository;
|
|
|
- private AppConfigQuery appConfigQuery;
|
|
|
-
|
|
|
- public MonitorJobData(MonitorJobCrudService jobCrudService,
|
|
|
- NotifyService notifyService,
|
|
|
- MachineStatCrud statCrudService,
|
|
|
- MachineStatQuery statQuery,
|
|
|
- MachineQuery machineQuery,
|
|
|
- AppRunningRepository runningRepository,
|
|
|
- AppConfigQuery appConfigQuery) {
|
|
|
- this.jobCrudService = jobCrudService;
|
|
|
- this.notifyService = notifyService;
|
|
|
- this.statCrudService = statCrudService;
|
|
|
- this.statQuery = statQuery;
|
|
|
- this.machineQuery = machineQuery;
|
|
|
- this.runningRepository = runningRepository;
|
|
|
- this.appConfigQuery = appConfigQuery;
|
|
|
- }
|
|
|
-
|
|
|
- public JobId machineMonitorJobId(String machineId) {
|
|
|
- String jobClassName = MachineStatCheckJob.class.getSimpleName();
|
|
|
- String jobId = String.format("%s-%s", machineId, jobClassName);
|
|
|
- return new JobId(jobId, jobClassName);
|
|
|
- }
|
|
|
-
|
|
|
- public JobId appMonitorJobId(String appId, String machineId) {
|
|
|
- String jobClassName = AppHealthCheckJob.class.getSimpleName();
|
|
|
- String jobId = String.format("%s-%s-%s", appId, machineId, jobClassName);
|
|
|
- return new JobId(jobId, jobClassName);
|
|
|
- }
|
|
|
-
|
|
|
- public JobDataMap jobDataMap(MonitorJob monitorJob) {
|
|
|
- String jobId = monitorJob.getJobId();
|
|
|
- String jobType = monitorJob.getJobType();
|
|
|
- JobDataMap jobDataMap;
|
|
|
- switch (JobType.valueOf(jobType)) {
|
|
|
- case machine:
|
|
|
- jobDataMap = machineDataMap(jobId);
|
|
|
- break;
|
|
|
- case app:
|
|
|
- jobDataMap = appDataMap(jobId);
|
|
|
- break;
|
|
|
- default:
|
|
|
- jobDataMap = null;
|
|
|
- }
|
|
|
- return jobDataMap;
|
|
|
- }
|
|
|
-
|
|
|
- private JobDataMap machineDataMap(String jobId) {
|
|
|
- String machineId = jobId.split("-")[0];
|
|
|
-
|
|
|
- JobDataMap jobDataMap = new JobDataMap();
|
|
|
- jobDataMap.put("notifyService", notifyService);
|
|
|
- jobDataMap.put("jobCrudService", jobCrudService);
|
|
|
- jobDataMap.put("statCrudService", statCrudService);
|
|
|
- jobDataMap.put("statQuery", statQuery);
|
|
|
- jobDataMap.put("machineQuery", machineQuery);
|
|
|
- jobDataMap.put("machineId", machineId);
|
|
|
- return jobDataMap;
|
|
|
- }
|
|
|
-
|
|
|
- private JobDataMap appDataMap(String jobId) {
|
|
|
- String[] arr = jobId.split("-");
|
|
|
- String appId = arr[0];
|
|
|
- String machineId = arr[1];
|
|
|
-
|
|
|
- JobDataMap jobDataMap = new JobDataMap();
|
|
|
- jobDataMap.put("notifyService", notifyService);
|
|
|
- jobDataMap.put("jobCrudService", jobCrudService);
|
|
|
- jobDataMap.put("runningRepository", runningRepository);
|
|
|
- jobDataMap.put("appQuery", appConfigQuery);
|
|
|
- jobDataMap.put("webRequest", new DefaultWebRequest());
|
|
|
- jobDataMap.put("appId", appId);
|
|
|
- jobDataMap.put("machineId", machineId);
|
|
|
- return jobDataMap;
|
|
|
- }
|
|
|
-}
|