查看Quartz 调度任务 job 的状态


首先 明确一点什么是 jobkey


JobKey jobkey = new JobKey(name,group)


jobkey相当于一把钥匙连接 所有从 schedule 中 获取 信息的钥匙


如果想获取 初始化信息

scheduler.getJobDetail(jobKey).getJobDataMap().get("当时创建的名称")

你会获得 当前 钥匙 下 的初始化信息


如果想获取 该条记录下次 着火事件的时间

   Date date = scheduler.getTriggersOfJob(jobKey).get(0).getNextFireTime();


如果想获得 该job 的 调度状态

也可以使用 jobkey

 TriggerKey triggerKey = TriggerKey.triggerKey(jobKey.getName(), jobKey.getGroup());

 scheduler.getTriggerState(triggerKey);

这样就可以获得对应job 的 状态


状态情况分为以下几类 可以直接拿去用。

private static String getTriggerStatesCN(String key) {
    Map<String, String> map = new LinkedHashMap<String, String>();
    map.put("BLOCKED", "阻塞");
    map.put("COMPLETE", "完成");
    map.put("ERROR", "出错");
    map.put("NONE", "不存在");
    map.put("NORMAL", "正常");
    map.put("PAUSED", "暂停");

    map.put("4", "阻塞");
    map.put("2", "完成");
    map.put("3", "出错");
    map.put("-1", "不存在");
    map.put("0", "正常");
    map.put("1", "暂停");
    /*  **STATE_BLOCKED 4 阻塞
STATE_COMPLETE 2 完成
STATE_ERROR 3 错误
STATE_NONE -1 不存在
STATE_NORMAL 0 正常
STATE_PAUSED 1 暂停***/
    return map.get(key);
}


猜你喜欢

转载自blog.csdn.net/qq_18730505/article/details/79282686