package cn.reghao.autodop.dmaster.monitor.job;

import cn.reghao.autodop.dmaster.notification.service.NotifyService;
import lombok.extern.slf4j.Slf4j;
import org.quartz.Job;
import org.quartz.JobDataMap;
import org.quartz.JobDetail;
import org.quartz.JobExecutionContext;

/**
 * 机器状态监控任务
 * 接收到 dagentStart 事件时添加(若 machine 是第一次注册)并启动(若不是第一次注册且存在通知组)任务
 * 接收到 dagnetShutdown 事件时停止任务
 * 删除 MachineInfo 时删除任务
 * 任务需要设置通知组后才能启用
 *
 * TODO 同一个任务是否会被多个线程同时执行？
 *
 * @author reghao
 * @date 2021-06-22 19:04:10
 */
@Slf4j
public class MachineStatCheckJob implements Job {
    @Override
    public void execute(JobExecutionContext context) {
        JobDetail jobDetail = context.getJobDetail();
        JobDataMap jobDataMap = jobDetail.getJobDataMap();
        String jobId = jobDetail.getKey().getName();

        NotifyService notifyService = (NotifyService) jobDataMap.get("notifyService");
    }
}
