diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md index e5f45f61..7b8c0d79 100644 --- a/doc/XXL-JOB官方文档.md +++ b/doc/XXL-JOB官方文档.md @@ -2790,10 +2790,11 @@ public void execute() { ### 7.44 版本 v3.4.0 Release Notes[ING] - 1、【新增】调度性能提升:任务触发后分批批量更新,高频调度场景可百倍降低SQL操作合并执行,提升调度性能; (新增“任务批量更新(xxl.job.schedule.batchsize)”配置项,支持动态修改批量操作大小) -- 2、【调整】Docker基础镜像调整为eclipse-temurin; -- 3、【优化】父POM依赖配置优化,移除容易配置;合并PR-3926; -- 4、【升级】升级多项maven依赖至较新版本; -- 5、【TODO】调度中心OpenAPI完善,提供任务管理能力;封装Agent Skill并推送ClawHub; +- 2、【调整】固定频率调度策略调整,修复小概率下触发时间偏差问题; +- 3、【调整】Docker基础镜像调整为eclipse-temurin; +- 4、【优化】父POM依赖配置优化,移除容易配置;合并PR-3926; +- 5、【升级】升级多项maven依赖至较新版本; +- 6、【TODO】调度中心OpenAPI完善,提供任务管理能力;封装Agent Skill并推送ClawHub; ### TODO LIST diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/type/strategy/FixRateScheduleType.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/type/strategy/FixRateScheduleType.java index 290a4200..b71dda70 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/type/strategy/FixRateScheduleType.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/type/strategy/FixRateScheduleType.java @@ -10,7 +10,14 @@ public class FixRateScheduleType extends ScheduleType { @Override public Date generateNextTriggerTime(XxlJobInfo jobInfo, Date fromTime) throws Exception { // generate next trigger time, fix rate delay - return new Date(fromTime.getTime() + Long.parseLong(jobInfo.getScheduleConf()) * 1000L); + Date nextTriggerTime = new Date(jobInfo.getTriggerLastTime() + Long.parseLong(jobInfo.getScheduleConf()) * 1000L); + if (nextTriggerTime.after(fromTime)) { + // fix rate delay, after last-trigger-time + return nextTriggerTime; + } else { + // fix rate delay, after fromTime + return new Date(fromTime.getTime() + Long.parseLong(jobInfo.getScheduleConf()) * 1000L); + } } }