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

master
xuxueli 5 years ago
parent ac86231d2e
commit 4dd19ac518
  1. 2
      doc/XXL-JOB官方文档.md
  2. 5
      xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java
  3. 2
      xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobInfoMapper.xml

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

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

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

Loading…
Cancel
Save