Robiplus
2011-10-11 09:51 阅读 1.1k
已采纳

如何监控Quartz是否在正常运行?

最近涉及到Quartz调度,具体有4个任务分别是:每隔2小时,每隔一天,每隔一天,每天18点运行。

现在要求对调度任务监控,“提前知道任务任务是否挂掉”,也就是希望还没运行就希望知道他到底会不会运行 - -

:oops: 有没有啥方法可以做到监控调度是存活?计数器?(计数器看似不行)还是Quartz的其他Api可以做到?

先谢谢!

注: 用的Quartz版本是2.0

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

8条回答 默认 最新

  • 已采纳
    iteye_7931 iteye_7931 2011-10-14 11:03

    quartz框架中T_TASK_TRIGGERS表 TRIGGER_STATE 字段显示任务的属性大概状态有这几种:
    WAITING:等待

    PAUSED:暂停
    ACQUIRED:正常执行
    BLOCKED:阻塞
    ERROR:错误

    点赞 评论 复制链接分享
  • aini3456 aini3456 2011-10-11 10:32

    Quartz的调度器有类似的api可以用:isStarted()、isShutdown()

    点赞 评论 复制链接分享
  • qq1988627 qq1988627 2011-10-11 10:49

    日志啊

    点赞 评论 复制链接分享
  • easyroom easyroom 2011-10-11 11:59

    要求做成一个功能,要有界面什么的么?

    如果不要的话直接命令行 jstack

    点赞 评论 复制链接分享
  • iteye_6273 iteye_6273 2011-10-11 16:56
    1. 可以通过log的方式来判断,每次执行成功记录信息,这需要你定时去查看log信息。
    2. 可以在任务结束时发送email或短信等,来反映任务是否执行成功,但是这个也麻烦,会不断有email或短信发过来,并且还要确保email和短信服务可用。
    点赞 评论 复制链接分享
  • fei1710 fei1710 2011-10-11 17:26

    预先判断?看看jvm有没有挂

    点赞 评论 复制链接分享
  • weixin_42515006 天动 2011-10-11 20:33

    org.quartz.Scheduler.getJobNames
    可以根据任务组名(一般都用的Scheduler.DEFAULT_GROUP吧)得到当前的所有Job.
    然后org.quartz.Scheduler.getJobDetail
    根据名称再获取到jobdetail,查看对应的trigger等属性,可以大概知道任务的执行情况.

    点赞 评论 复制链接分享
  • hekuilove 年华是封无效信 2011-10-12 13:34

    System.out.println("执行quartz");

    点赞 评论 复制链接分享

相关推荐