From c467370d8741bc05ca7c22d4253c58ac0a979ef5 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期二, 09 六月 2026 09:46:25 +0800
Subject: [PATCH] 功能优化
---
server/system_service/src/main/java/com/doumee/dao/timer/scheduler/QuartzManage.java | 31 +++++++++++++++++++------------
1 files changed, 19 insertions(+), 12 deletions(-)
diff --git a/server/system_service/src/main/java/com/doumee/dao/timer/scheduler/QuartzManage.java b/server/system_service/src/main/java/com/doumee/dao/timer/scheduler/QuartzManage.java
index c7eb54c..bdcefd9 100644
--- a/server/system_service/src/main/java/com/doumee/dao/timer/scheduler/QuartzManage.java
+++ b/server/system_service/src/main/java/com/doumee/dao/timer/scheduler/QuartzManage.java
@@ -4,6 +4,8 @@
import com.doumee.dao.timer.entity.QuartzJob;
import org.quartz.*;
import org.quartz.CronTrigger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@@ -15,6 +17,8 @@
*/
@Component
public class QuartzManage {
+
+ private static final Logger log = LoggerFactory.getLogger(QuartzManage.class);
private static final String SCHEDULE_NAME = "BOOT_JOB_" ;
@@ -41,9 +45,10 @@
public CronTrigger getCronTrigger (Integer jobId){
try {
return (CronTrigger) this.scheduler.getTrigger(getTriggerKey(jobId)) ;
- } catch (SchedulerException e){
- throw new RuntimeException("getCronTrigger Fail",e) ;
+ }catch (Exception e){
+ log.error("getCronTrigger澶辫触, jobId={}", jobId, e);
}
+ return null;
}
/**
@@ -55,10 +60,12 @@
JobDetail jobDetail = JobBuilder.newJob(QuartzRecord.class)
.withIdentity(getJobKey(quartzJob.getId())).build() ;
+
// 鏋勫缓Cron璋冨害鍣�
CronScheduleBuilder scheduleBuilder = CronScheduleBuilder
.cronSchedule(quartzJob.getCronExpres())
- .withMisfireHandlingInstructionDoNothing() ;
+ .withMisfireHandlingInstructionFireAndProceed() ;
+
// 浠诲姟瑙﹀彂鍣�
CronTrigger trigger = TriggerBuilder.newTrigger()
.withIdentity(getTriggerKey(quartzJob.getId()))
@@ -67,8 +74,8 @@
scheduler.scheduleJob(jobDetail,trigger) ;
// 鐘舵�佹牎楠�
checkStop(quartzJob) ;
- } catch (SchedulerException e){
- throw new RuntimeException("createJob Fail",e) ;
+ } catch (Exception e){
+ log.error("createJob澶辫触, jobId={}", quartzJob.getId(), e);
}
}
@@ -82,7 +89,7 @@
// 鏋勫缓Cron璋冨害鍣�
CronScheduleBuilder scheduleBuilder = CronScheduleBuilder
.cronSchedule(quartzJob.getCronExpres())
- .withMisfireHandlingInstructionDoNothing();
+ .withMisfireHandlingInstructionFireAndProceed();
// 浠诲姟瑙﹀彂鍣�
CronTrigger trigger = getCronTrigger(quartzJob.getId())
.getTriggerBuilder().withIdentity(triggerKey)
@@ -91,8 +98,8 @@
scheduler.rescheduleJob(triggerKey, trigger);
// 鐘舵�佹牎楠�
checkStop(quartzJob) ;
- } catch (SchedulerException e) {
- throw new RuntimeException("updateJob Fail",e) ;
+ }catch (Exception e){
+ log.error("updateJob澶辫触, jobId={}", quartzJob.getId(), e);
}
}
@@ -126,8 +133,8 @@
JobDataMap dataMap = new JobDataMap() ;
dataMap.put(QuartzJob.JOB_PARAM_KEY,quartzJob);
this.scheduler.triggerJob(getJobKey(quartzJob.getId()),dataMap);
- } catch (SchedulerException e){
- throw new RuntimeException("run Fail",e) ;
+ } catch (Exception e){
+ log.error("run澶辫触, jobId={}", quartzJob.getId(), e);
}
}
@@ -139,8 +146,8 @@
if(quartzJob.getState() != JobState.JOB_RUN.getStatus()){
this.scheduler.pauseJob(getJobKey(quartzJob.getId()));
}
- } catch (SchedulerException e){
- throw new RuntimeException("pauseJob Fail",e) ;
+ } catch (Exception e){
+ log.error("checkStop澶辫触, jobId={}", quartzJob.getId(), e);
}
}
--
Gitblit v1.9.3