...
runningCount / totalCount 【待执行 waitingCount个】
代码块 | ||
---|---|---|
| ||
指标说明: 运行中的计划1、运行中的计划(runningCount): select count(1) from QRTZ_FIRED_TRIGGERS; 服务器数量2、服务器数量(serverCount): select count(1) from QRTZ_SCHEDULER_STATE where LAST_CHECKIN_TIME + CHECKIN_INTERVAL > unix_timestamp(); 每台服务器最大并发数3、每台服务器最大并发数(threadCount): org_quartz_threadPool_threadCount=10 totalCount4、totalCount = serverCount * threadCount 当 runningCount >= totalCount ,超载(waitingCount): 待执行5、待执行(waitingCount) select count(1) from QRTZ_TRIGGERS where NEXT_FIRE_TIME < unix_timestamp() and TRIGGER_STATE = 'WAITING'; |
...
代码块 | ||
---|---|---|
| ||
select * from QRTZ_TRIGGERS where NEXT_FIRE_TIME < unix_timestamp() and TRIGGER_STATE = 'WAITING' where TRIGGER_NAME like '%计划ID%'; |
3、计划任务总体情况确认
(1)监控页面(v95以上,buildtime2022-10-01以后)需要管理员权限才能打开(如果环境计划任务总数比较多,页面打开可能会浏览器卡死,修改showAll=false,此时计划任务是分页的,默认只展示10条)
(2)监控页面说明
【节点总览】
注意事项:如果是集群环境,如上图interval不能超过7500,即时间差不能超过7注意事项:如果是集群环境,如上图interval不能超过7500,即时间差不能超过7.5s,超过这个时间范围就有可能出现计划无法按时执行的各种问题,需要先实现集群环境操作系统的服务器时间同步(需要配置一个时间标准服务器,然后再配置其他服务器跟这个时间标准服务器同步时间),如网络参考文档:内网环境的NTP服务搭建和应用(实现各服务器时间同步)
【计划表】
如果怀疑只是某个计划没执行,也可以拿到计划名称,在上述计划表拿到c_scheduleid(计划ID),然后需要在最下方的qrtz_triggers中找到对应的记录
...