定时任务任务表增加type:1-正常任务;2-全量同步执行时未执行的任务。
增加全量同步时未执行任务的扫描
全量同步时,业务无数据也需要下发{}至服务端。
This commit is contained in:
@@ -23,7 +23,7 @@
|
||||
<property name="group" value="cfg" />
|
||||
</bean>
|
||||
|
||||
<!-- 定时检查 schedule_cfg 表 -->
|
||||
<!-- 定时检查 schedule_cfg(正常任务) 表 -->
|
||||
<bean id="scheduleCfgSimpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
|
||||
<property name="jobDetail">
|
||||
<ref bean="scheduleCfgJobDetail" />
|
||||
@@ -33,6 +33,24 @@
|
||||
<property name="name" value="scheduleCfgTri" />
|
||||
<property name="group" value="cfg" />
|
||||
</bean>
|
||||
|
||||
|
||||
<!-- 配置加载 任务执行类 -->
|
||||
<bean id="scheduleSyncCfgJobDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
|
||||
<property name="jobClass" value="com.nis.quartz.ScheduleSyncCfgJob"/>
|
||||
<property name="name" value="scheduleSyncCfgJobDetail" />
|
||||
<property name="group" value="cfg" />
|
||||
</bean>
|
||||
<!-- 定时检查 schedule_cfg(全量同步未执行任务) 表 -->
|
||||
<bean id="scheduleSyncCfgSimpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
|
||||
<property name="jobDetail">
|
||||
<ref bean="scheduleSyncCfgJobDetail" />
|
||||
</property>
|
||||
<property name="repeatInterval" value="60000" /><!-- 间隔 60s 执行一次 -->
|
||||
<property name="startDelay" value="60000" /><!-- 延迟 60s 启动 -->
|
||||
<property name="name" value="scheduleSyncCfgTri" />
|
||||
<property name="group" value="syncCfg" />
|
||||
</bean>
|
||||
|
||||
|
||||
<!-- 定时任务 -->
|
||||
@@ -44,7 +62,8 @@
|
||||
<property name="startupDelay" value="60" /><!-- 启动延迟时间 ,单位:s-->
|
||||
<property name="triggers">
|
||||
<list>
|
||||
<ref bean="scheduleCfgSimpleTrigger" />
|
||||
<ref bean="scheduleCfgSimpleTrigger" />
|
||||
<ref bean="scheduleSyncCfgSimpleTrigger" />
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
133
src/main/resources/sql/20190328/alert_proc_statistics_config.sql
Normal file
133
src/main/resources/sql/20190328/alert_proc_statistics_config.sql
Normal file
@@ -0,0 +1,133 @@
|
||||
CREATE DEFINER=`root`@`%` PROCEDURE `proc_statistics_config`()
|
||||
BEGIN
|
||||
|
||||
DECLARE ntime VARCHAR(40);/*当前时间*/
|
||||
|
||||
DECLARE otime VARCHAR(40);/*上次统计时间*/
|
||||
|
||||
DECLARE nRow VARCHAR(40);/*本次统计条数*/
|
||||
|
||||
DECLARE tabName VARCHAR(500);
|
||||
|
||||
DECLARE description VARCHAR(500);
|
||||
|
||||
DECLARE deleteSql VARCHAR(500);
|
||||
|
||||
DECLARE done INT;/*游标标识*/
|
||||
|
||||
DECLARE flag INT;/*循环标识*/
|
||||
|
||||
DECLARE t_error INT;/*错误标识*/
|
||||
|
||||
DECLARE proc_log_table VARCHAR(100);/*存储过程日志表*/
|
||||
|
||||
DECLARE proc_name VARCHAR(100);/*存储过程名称*/
|
||||
|
||||
DECLARE icursor CURSOR FOR SELECT tab_name FROM statistics_tables where is_valid=1;
|
||||
|
||||
DECLARE CONTINUE HANDLER FOR NOT found SET done=1;
|
||||
|
||||
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION set t_error=1;
|
||||
|
||||
select max(statistic_time) into otime from cfg_num_statistics;
|
||||
|
||||
SET done=0;
|
||||
|
||||
SET t_error=0;
|
||||
|
||||
SET proc_log_table='proc_exec_log';
|
||||
|
||||
SET proc_name='proc_statistics_config';
|
||||
|
||||
SET ntime=DATE_FORMAT(SYSDATE(),'%Y-%m-%d %H:%i:%S');
|
||||
|
||||
OPEN icursor;
|
||||
|
||||
loop_iloop:LOOP
|
||||
|
||||
FETCH icursor INTO tabName;
|
||||
|
||||
SET description=tabName;
|
||||
|
||||
set @descriptionStart=concat(description,'表统计start');
|
||||
|
||||
/*统计当前配置表数据到统计表中start*/
|
||||
|
||||
set @v_log_sql1 := concat('insert into ',proc_log_table,'(proc_name,table_name,log_time,description) values(?,?,?,?)');
|
||||
|
||||
PREPARE execs FROM @v_log_sql1;
|
||||
|
||||
EXECUTE execs using proc_name,proc_log_table,ntime,@descriptionStart;
|
||||
|
||||
DEALLOCATE PREPARE execs;
|
||||
|
||||
COMMIT;
|
||||
|
||||
|
||||
#没有定时任务前的统计:is_audit=1 && is_valid=1为approved
|
||||
#set @insert_statistics_sql := concat('insert into cfg_num_statistics(statistic_time,audit_time,function_id,service_id,action,compile_id,cfg_state) select ','''',ntime,'''',',','audit_time,function_id,service_id,action,compile_id,if(is_audit=3,3,if(is_audit=2,2,if(is_audit=1,1,if(is_valid=0,0,if(is_valid,-1,-1))))) cfg_state from ',tabName);
|
||||
#20190328 增加定时任务后is_audit=1 && (is_valid=1 || is_valid=0) 即为approved (为与界面显示保持一致,更改统计条件,此时的结果中approved并不代表所有有效的配置总数)
|
||||
set @insert_statistics_sql := concat('insert into cfg_num_statistics(statistic_time,function_id,service_id,action,compile_id,cfg_state) select ','''',ntime,'''',',','function_id,service_id,action,compile_id,if(is_valid=-1,-1,if(is_valid=1,1,if(is_valid=0 && is_audit=0,0,if(is_valid=0 && is_audit=1,1,if(is_valid=0 && is_audit=2,2,if(is_valid=0 && is_audit=3,3,0)))))) cfg_state from ',tabName);
|
||||
|
||||
|
||||
PREPARE execs FROM @insert_statistics_sql;
|
||||
|
||||
EXECUTE execs;
|
||||
|
||||
DEALLOCATE PREPARE execs;
|
||||
|
||||
COMMIT;
|
||||
|
||||
|
||||
|
||||
set @descriptionEnd=concat(description,'表统计end');
|
||||
|
||||
set @v_log_sql2 := concat('insert into ',proc_log_table,'(proc_name,table_name,log_time,description) values(?,?,?,?)');
|
||||
|
||||
PREPARE execs FROM @v_log_sql2;
|
||||
|
||||
EXECUTE execs using proc_name,proc_log_table,ntime,@descriptionEnd;
|
||||
|
||||
DEALLOCATE PREPARE execs;
|
||||
|
||||
COMMIT;
|
||||
|
||||
/*异常退出loop*/
|
||||
IF t_error=1 THEN
|
||||
LEAVE loop_iloop;
|
||||
END IF;
|
||||
|
||||
/*循环结束退出loop*/
|
||||
IF done=1 THEN
|
||||
|
||||
LEAVE loop_iloop;
|
||||
|
||||
ELSE
|
||||
|
||||
SET flag=0;
|
||||
|
||||
END IF;
|
||||
|
||||
IF flag=0 THEN
|
||||
|
||||
SET done=0;
|
||||
|
||||
END IF;
|
||||
|
||||
END LOOP loop_iloop;
|
||||
|
||||
CLOSE icursor;
|
||||
/*取出本次统计条数*/
|
||||
SELECT count(statistic_time) INTO nRow from cfg_num_statistics where statistic_time=ntime;
|
||||
|
||||
|
||||
IF t_error=1 THEN /*如果异常清楚本次数据*/
|
||||
delete from cfg_num_statistics where statistic_time=ntime;
|
||||
COMMIT;
|
||||
ELSEIF nRow > 0 THEN /*判断本次统计是否有数据录入,如果有则删除上次统计数据,如果没有则不清除上次统计数据*/
|
||||
|
||||
delete from cfg_num_statistics where statistic_time=otime;
|
||||
COMMIT;
|
||||
END IF;
|
||||
COMMIT;
|
||||
END
|
||||
1
src/main/resources/sql/20190328/alert_scheduler_cfg.sql
Normal file
1
src/main/resources/sql/20190328/alert_scheduler_cfg.sql
Normal file
@@ -0,0 +1 @@
|
||||
ALTER TABLE schedule_cfg ADD type int(1) DEFAULT 1 COMMENT '1:定时任务;2:全量同步时未执行的任务';
|
||||
Reference in New Issue
Block a user