瀏覽代碼

任务触发组件优化,预加载频率正常1s一次,当预加载轮空时主动休眠一个加载周期,动态降低加载频率从而降低DB压力;

xuxueli 6 年之前
父節點
當前提交
4dd19ac518

+ 1 - 1
doc/XXL-JOB官方文档.md 查看文件

@@ -1517,7 +1517,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
1517 1517
 - 6、登录界面取消默认填写的登录账号密码;
1518 1518
 - 7、[ING]cron在线生成工具;
1519 1519
 - 8、[ING]任务、执行器数据全量本地缓存;新增消息表广播通知;
1520
-- 9、任务触发组件优化,常规1s预加载一次,预加载轮空时主动休眠4s,降低加载频率以及对DB压力;
1520
+- 9、任务触发组件优化,预加载频率正常1s一次,当预加载轮空时主动休眠一个加载周期,动态降低加载频率从而降低DB压力;
1521 1521
 - 10、注册监控线程优化,降低死锁几率;
1522 1522
 - 11、调度组件优化:针对永远不会触发的Cron禁止配置和启动;任务Cron最后一次触发后再也不会触发时,比如一次性任务,主动停止相关任务;
1523 1523
 - 12、任务列表交互优化,支持查看任务所属执行器的注册节点;

+ 2 - 3
xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java 查看文件

@@ -194,9 +194,8 @@ public class JobScheduleHelper {
194 194
                     // Wait seconds, align second
195 195
                     if (cost < 1000) {  // scan-overtime, not wait
196 196
                         try {
197
-                            // pre-read success, exist job in pre-read period, wait 1s;
198
-                            // pre-read fail, no exist job in pre-read period, wait 4s
199
-                            TimeUnit.MILLISECONDS.sleep((preReadSuc?1000:4000) - System.currentTimeMillis()%1000);
197
+                            // pre-read period: success > scan each second; fail > skip this period;
198
+                            TimeUnit.MILLISECONDS.sleep((preReadSuc?1000:PRE_READ_MS) - System.currentTimeMillis()%1000);
200 199
                         } catch (InterruptedException e) {
201 200
                             if (!scheduleThreadToStop) {
202 201
                                 logger.error(e.getMessage(), e);

+ 1 - 1
xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobInfoMapper.xml 查看文件

@@ -212,7 +212,7 @@
212 212
 		SELECT <include refid="Base_Column_List" />
213 213
 		FROM xxl_job_info AS t
214 214
 		WHERE t.trigger_status = 1
215
-			and t.trigger_next_time<![CDATA[ < ]]> #{maxNextTime}
215
+			and t.trigger_next_time<![CDATA[ <= ]]> #{maxNextTime}
216 216
 	</select>
217 217
 
218 218
 	<update id="scheduleUpdate" parameterType="com.xxl.job.admin.core.model.XxlJobInfo"  >