Please answer some questions before submitting your issue. Thanks!
版本:2.0.1偶尔有几个任务到时间了没有触发,日志也没有,求排查问题思路
wgx48brx1#
版本有点老了
4ktjp1zp2#
2.2.0 同样遇到这个问题,有个时候提交的任务死活不执行。 发现任务会自动暂停,不知道什么原因,也没有日志提醒,暂时的解决方案是提交后,直接查询下任务的状态,如果状态是暂停,就直接再次变动为正常。 下面代码是查询任务是否提交和任务状态的。排查步聚:1、确认任务是否提交成功。2、确认任务状态。
Runnable runnable = new Runnable() { @Override public void run() { while (true) { try { TimeUnit.SECONDS.sleep(10); } catch (InterruptedException e) { throw new RuntimeException(e); } System.out.println("=====打印任务==========="); // 打印所有的scheduler GroupMatcher<JobKey> matcher = GroupMatcher.anyJobGroup(); Set<JobKey> jobKeys = null; try { jobKeys = scheduler.getJobKeys(matcher); for (JobKey jobKey : jobKeys) { JSONObject jsonObject = new JSONObject(); List<? extends Trigger> triggers = scheduler.getTriggersOfJob(jobKey); List<String> triggerStateList = new ArrayList<>(); for (Trigger trigger: triggers) { Trigger.TriggerState triggerState = scheduler.getTriggerState(trigger.getKey()); triggerStateList.add(triggerState.name()); } JobDetail jobDetail = scheduler.getJobDetail(jobKey); jsonObject.put("jobDetail", jobDetail); jsonObject.put("triggers", triggers); jsonObject.put("triggerStateList", triggerStateList); System.out.println(jsonObject.toJSONString()); } } catch (SchedulerException e) { log.error("", e); } } } }; Thread thread = new Thread(runnable); thread.start();
2条答案
按热度按时间wgx48brx1#
版本有点老了
4ktjp1zp2#
2.2.0 同样遇到这个问题,有个时候提交的任务死活不执行。 发现任务会自动暂停,不知道什么原因,也没有日志提醒,暂时的解决方案是提交后,直接查询下任务的状态,如果状态是暂停,就直接再次变动为正常。 下面代码是查询任务是否提交和任务状态的。
排查步聚:
1、确认任务是否提交成功。
2、确认任务状态。