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

This commit is contained in:
xuxueli 2019-07-19 11:29:05 +08:00
parent ac86231d2e
commit 4dd19ac518
3 changed files with 4 additions and 5 deletions

View File

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

View File

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

View File

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