Commit 0ca06286 authored by wanghao's avatar wanghao

1测试上电断电操作

parent 2a32153a
...@@ -60,16 +60,19 @@ public class DeviceTaskScheduler { ...@@ -60,16 +60,19 @@ public class DeviceTaskScheduler {
.build(); .build();
// 3. 准备新触发器(Cron调度,与原有逻辑一致) // 3. 准备新触发器(Cron调度,与原有逻辑一致)
Trigger newTrigger = TriggerBuilder.newTrigger() // 明确创建CronTrigger,并配置错过执行的策略
.withIdentity(triggerKey) // 用构建好的TriggerKey CronTrigger newTrigger = TriggerBuilder.newTrigger()
.withSchedule(CronScheduleBuilder.cronSchedule("0 0/2 * * * ?")) // 测试每2分钟执行,后续可改回0 0 * * * ? .withIdentity(triggerKey)
.withSchedule(CronScheduleBuilder.cronSchedule("0 0/2 * * * ?")
.withMisfireHandlingInstructionFireAndProceed()) // 处理错过执行的策略
.build(); .build();
// 4. 分场景处理:存在则更新,不存在则创建 // 4. 分场景处理:存在则更新,不存在则创建
if (scheduler.checkExists(jobKey)) { if (scheduler.checkExists(jobKey)) {
// 任务已存在:更新触发器(替换旧触发器为新触发器) // 先删除旧触发器再添加新触发器
Date updatedTime = scheduler.rescheduleJob(triggerKey, newTrigger); scheduler.unscheduleJob(triggerKey);
log.info("每小时通信任务[{}]已存在,成功更新触发器,下次执行时间:{}", jobId, updatedTime); scheduler.scheduleJob(newTrigger);
log.info("每小时通信任务[{}]已存在,成功更新触发器", jobId);
} else { } else {
// 任务不存在:创建JobDetail和触发器 // 任务不存在:创建JobDetail和触发器
scheduler.scheduleJob(job, newTrigger); scheduler.scheduleJob(job, newTrigger);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment