DB重连优化,修复DB宕机重连后任务调度停止的问题,重连后自动加入调度集群触发任务调度;
This commit is contained in:
parent
9f9df30f95
commit
db7fdf194a
|
@ -1516,11 +1516,12 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
|
||||||
- 5、注册监控线程优化,降低死锁几率;
|
- 5、注册监控线程优化,降低死锁几率;
|
||||||
- 6、调度组件优化:针对永远不会触发的Cron禁止配置和启动;任务Cron最后一次触发后再也不会触发时,比如一次性任务,主动停止相关任务;
|
- 6、调度组件优化:针对永远不会触发的Cron禁止配置和启动;任务Cron最后一次触发后再也不会触发时,比如一次性任务,主动停止相关任务;
|
||||||
- 7、任务列表交互优化,支持查看任务所属执行器的注册节点;
|
- 7、任务列表交互优化,支持查看任务所属执行器的注册节点;
|
||||||
- 8、[ING]调度日志优化:支持设置日志保留天数,过期日志天维度记录报表,并清理;调度报表汇总实时数据和报表;
|
- 8、DB重连优化,修复DB宕机重连后任务调度停止的问题,重连后自动加入调度集群触发任务调度;
|
||||||
- 9、[ING]父子任务参数传递;
|
- 9、[ING]调度日志优化:支持设置日志保留天数,过期日志天维度记录报表,并清理;调度报表汇总实时数据和报表;
|
||||||
- 10、[ING]执行器端口复用,复用容器端口提供通讯服务;
|
- 10、[ING]父子任务参数传递;
|
||||||
- 11、[ING]执行器服务端口与注册端口分离,支持docker动态随机端口;
|
- 11、[ING]执行器端口复用,复用容器端口提供通讯服务;
|
||||||
- 12、[ING]Cron在线生成工具;
|
- 12、[ING]执行器服务端口与注册端口分离,支持docker动态随机端口;
|
||||||
|
- 13、[ING]Cron在线生成工具;
|
||||||
|
|
||||||
|
|
||||||
### TODO LIST
|
### TODO LIST
|
||||||
|
|
|
@ -49,17 +49,20 @@ public class JobScheduleHelper {
|
||||||
}
|
}
|
||||||
logger.info(">>>>>>>>> init xxl-job admin scheduler success.");
|
logger.info(">>>>>>>>> init xxl-job admin scheduler success.");
|
||||||
|
|
||||||
Connection conn = null;
|
|
||||||
while (!scheduleThreadToStop) {
|
while (!scheduleThreadToStop) {
|
||||||
|
|
||||||
// Scan Job
|
// Scan Job
|
||||||
long start = System.currentTimeMillis();
|
long start = System.currentTimeMillis();
|
||||||
|
|
||||||
|
Connection conn = null;
|
||||||
|
Boolean connAutoCommit = null;
|
||||||
PreparedStatement preparedStatement = null;
|
PreparedStatement preparedStatement = null;
|
||||||
|
|
||||||
boolean preReadSuc = true;
|
boolean preReadSuc = true;
|
||||||
try {
|
try {
|
||||||
if (conn==null || conn.isClosed()) {
|
|
||||||
conn = XxlJobAdminConfig.getAdminConfig().getDataSource().getConnection();
|
conn = XxlJobAdminConfig.getAdminConfig().getDataSource().getConnection();
|
||||||
}
|
connAutoCommit = conn.getAutoCommit();
|
||||||
conn.setAutoCommit(false);
|
conn.setAutoCommit(false);
|
||||||
|
|
||||||
preparedStatement = conn.prepareStatement( "select * from xxl_job_lock where lock_name = 'schedule_lock' for update" );
|
preparedStatement = conn.prepareStatement( "select * from xxl_job_lock where lock_name = 'schedule_lock' for update" );
|
||||||
|
@ -169,11 +172,27 @@ public class JobScheduleHelper {
|
||||||
} finally {
|
} finally {
|
||||||
|
|
||||||
// commit
|
// commit
|
||||||
try {
|
if (conn != null) {
|
||||||
conn.commit();
|
try {
|
||||||
} catch (SQLException e) {
|
conn.commit();
|
||||||
if (!scheduleThreadToStop) {
|
} catch (SQLException e) {
|
||||||
logger.error(e.getMessage(), e);
|
if (!scheduleThreadToStop) {
|
||||||
|
logger.error(e.getMessage(), e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
conn.setAutoCommit(connAutoCommit);
|
||||||
|
} catch (SQLException e) {
|
||||||
|
if (!scheduleThreadToStop) {
|
||||||
|
logger.error(e.getMessage(), e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
conn.close();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
if (!scheduleThreadToStop) {
|
||||||
|
logger.error(e.getMessage(), e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -204,12 +223,7 @@ public class JobScheduleHelper {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
if (conn != null) {
|
|
||||||
try {
|
|
||||||
conn.close();
|
|
||||||
} catch (SQLException e) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
logger.info(">>>>>>>>>>> xxl-job, JobScheduleHelper#scheduleThread stop");
|
logger.info(">>>>>>>>>>> xxl-job, JobScheduleHelper#scheduleThread stop");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -90,9 +90,9 @@ $(function() {
|
||||||
"render": function ( data, type, row ) {
|
"render": function ( data, type, row ) {
|
||||||
// status
|
// status
|
||||||
if (1 == data) {
|
if (1 == data) {
|
||||||
return '<small class="label label-success" ><i class="fa fa-clock-o"></i>RUNNING</small>';
|
return '<small class="label label-success" >RUNNING</small>';
|
||||||
} else {
|
} else {
|
||||||
return '<small class="label label-default" ><i class="fa fa-clock-o"></i>STOP</small>';
|
return '<small class="label label-default" >STOP</small>';
|
||||||
}
|
}
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue