|
|
@@ -1,113 +0,0 @@
|
|
|
-package cn.reghao.autodop.dmaster.machine.service;
|
|
|
-
|
|
|
-import cn.reghao.autodop.dmaster.machine.db.crud.MachineHostCrud;
|
|
|
-import cn.reghao.autodop.dmaster.machine.db.crud.MachineInfoCrud;
|
|
|
-import cn.reghao.autodop.dmaster.machine.db.crud.MachineStatCrud;
|
|
|
-import cn.reghao.autodop.dmaster.machine.db.query.MachineHostQuery;
|
|
|
-import cn.reghao.autodop.dmaster.machine.db.query.MachineInfoQuery;
|
|
|
-import cn.reghao.autodop.dmaster.machine.db.query.MachineStatQuery;
|
|
|
-import cn.reghao.autodop.dmaster.machine.model.po.MachineHost;
|
|
|
-import cn.reghao.autodop.dmaster.machine.model.po.MachineStat;
|
|
|
-import cn.reghao.autodop.dmaster.machine.model.po.MachineInfo;
|
|
|
-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.MonitorJobData;
|
|
|
-import cn.reghao.autodop.dmaster.monitor.service.MonitorService;
|
|
|
-import cn.reghao.autodop.dmaster.notification.model.po.NotifyGroup;
|
|
|
-import lombok.extern.slf4j.Slf4j;
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
-
|
|
|
-import java.time.LocalDateTime;
|
|
|
-import java.util.List;
|
|
|
-
|
|
|
-/**
|
|
|
- * DagentOps 实现
|
|
|
- *
|
|
|
- * @author reghao
|
|
|
- * @date 2021-07-01 19:11:54
|
|
|
- */
|
|
|
-@Deprecated
|
|
|
-@Slf4j
|
|
|
-@Service
|
|
|
-public class NodeService {
|
|
|
- private MachineInfoCrud infoCrud;
|
|
|
- private MachineInfoQuery infoQuery;
|
|
|
- private MachineHostCrud hostCrud;
|
|
|
- private MachineHostQuery hostQuery;
|
|
|
- private MachineStatCrud statCrud;
|
|
|
- private MachineStatQuery statQuery;
|
|
|
-
|
|
|
- private MonitorService monitorService;
|
|
|
- private MonitorJobData monitorJobData;
|
|
|
- private MonitorJobCrudService jobCrudService;
|
|
|
-
|
|
|
- public NodeService(MachineInfoCrud infoCrud, MachineInfoQuery infoQuery,
|
|
|
- MachineHostCrud hostCrud, MachineHostQuery hostQuery,
|
|
|
- MachineStatCrud statCrud, MachineStatQuery statQuery,
|
|
|
- MonitorService monitorService,
|
|
|
- MonitorJobData monitorJobData, MonitorJobCrudService jobCrudService) {
|
|
|
- this.infoCrud = infoCrud;
|
|
|
- this.infoQuery = infoQuery;
|
|
|
- this.hostCrud = hostCrud;
|
|
|
- this.hostQuery = hostQuery;
|
|
|
- this.statCrud = statCrud;
|
|
|
- this.statQuery = statQuery;
|
|
|
- this.monitorService = monitorService;
|
|
|
- this.monitorJobData = monitorJobData;
|
|
|
- this.jobCrudService = jobCrudService;
|
|
|
- }
|
|
|
-
|
|
|
- public void start(MachineInfo machineInfo) {
|
|
|
- String machineId = machineInfo.getMachineId();
|
|
|
- MachineInfo infoEntity = infoQuery.findByMachineId(machineId);
|
|
|
- if (infoEntity != null) {
|
|
|
- machineInfo.setId(infoEntity.getId());
|
|
|
- machineInfo.setCreateTime(infoEntity.getCreateTime());
|
|
|
- machineInfo.setUpdateTime(LocalDateTime.now());
|
|
|
- infoCrud.update(machineInfo);
|
|
|
-
|
|
|
- MachineHost machineHost = hostQuery.findByMachineId(machineId);
|
|
|
- List<NotifyGroup> notifyGroups = machineHost.getNotifyGroups();
|
|
|
- if (!notifyGroups.isEmpty()) {
|
|
|
- String jobId = monitorJobData.machineMonitorJobId(machineId).getJobId();
|
|
|
- MonitorJob monitorJob = jobCrudService.selectByUk(jobId);
|
|
|
- try {
|
|
|
- monitorService.startJob(monitorJob);
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- log.error("任务启动失败 {}", e.getMessage());
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- // 先存储数据,然后再添加监控任务,若任务添加失败则回滚
|
|
|
- infoCrud.save(machineInfo);
|
|
|
- //addMonitorJob(machineId);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private void addMonitorJob(String machineId) {
|
|
|
- JobId jobId = monitorJobData.machineMonitorJobId(machineId);
|
|
|
- MonitorJob monitorJob = new MonitorJob(jobId.getJobId(), jobId.getJobClassName(), JobType.machine.name());
|
|
|
- jobCrudService.insertOrUpdate(monitorJob);
|
|
|
- }
|
|
|
-
|
|
|
- public void heartbeat(MachineStat machineStat) {
|
|
|
- String machineId = machineStat.getMachineId();
|
|
|
- MachineHost machineHost = hostQuery.findByMachineId(machineId);
|
|
|
- if (machineHost != null) {
|
|
|
- hostCrud.update(machineHost);
|
|
|
- statCrud.update(machineStat);
|
|
|
- } else {
|
|
|
- statCrud.save(machineStat);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- public void shutdown(MachineStat machineStat) {
|
|
|
- String machineId = machineStat.getMachineId();
|
|
|
- /*JobId jobId = monitorJobData.machineMonitorJobId(machineId);
|
|
|
- monitorService.pauseJob(jobId.getJobId());*/
|
|
|
- statCrud.save(machineStat);
|
|
|
- }
|
|
|
-}
|