最近涉及到Quartz调度,具体有4个任务分别是:每隔2小时,每隔一天,每隔一天,每天18点运行。
现在要求对调度任务监控,“提前知道任务任务是否挂掉”,也就是希望还没运行就希望知道他到底会不会运行 - -
:oops: 有没有啥方法可以做到监控调度是存活?计数器?(计数器看似不行)还是Quartz的其他Api可以做到?
先谢谢!
注: 用的Quartz版本是2.0
quartz框架中T_TASK_TRIGGERS表 TRIGGER_STATE 字段显示任务的属性大概状态有这几种:
WAITING:等待
PAUSED:暂停
ACQUIRED:正常执行
BLOCKED:阻塞
ERROR:错误
org.quartz.Scheduler.getJobNames
可以根据任务组名(一般都用的Scheduler.DEFAULT_GROUP吧)得到当前的所有Job.
然后org.quartz.Scheduler.getJobDetail
根据名称再获取到jobdetail,查看对应的trigger等属性,可以大概知道任务的执行情况.
Quartz的调度器有类似的api可以用:isStarted()、isShutdown()
日志啊
要求做成一个功能,要有界面什么的么?
如果不要的话直接命令行 jstack
预先判断?看看jvm有没有挂
System.out.println("执行quartz");