Commit fc82a963ad1645472d8d54b0a6b93f2843f18300

Authored by 陈杰
1 parent e7154f2b
Exists in master

定时任务 并发 bug解决

cloud/quartz/src/main/java/com/sincere/quartz/job/SyncJob.java
@@ -20,7 +20,7 @@ public class SyncJob { @@ -20,7 +20,7 @@ public class SyncJob {
20 @Autowired 20 @Autowired
21 YXYReadService yxyReadService ; 21 YXYReadService yxyReadService ;
22 22
23 - @Scheduled(cron = "0 0 22 * * ? ") 23 + @Scheduled(cron = "30 10 22 * * ? ")
24 public void Sync(){ 24 public void Sync(){
25 //翼校通的同步 之后还有钉钉的同步等等 25 //翼校通的同步 之后还有钉钉的同步等等
26 yxyReadService.sync(); 26 yxyReadService.sync();
cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYReadService.java
@@ -98,14 +98,11 @@ public class YXYReadService { @@ -98,14 +98,11 @@ public class YXYReadService {
98 for(String schoolId : schoolList){ 98 for(String schoolId : schoolList){
99 pool.execute(initSchool(schoolId)); 99 pool.execute(initSchool(schoolId));
100 } 100 }
101 - try {  
102 - boolean loop = true;  
103 - do { //等待所有任务完成  
104 - loop = !pool.awaitTermination(2, TimeUnit.SECONDS); //阻塞,直到线程池里所有任务结束  
105 - } while(loop);  
106 - } catch (InterruptedException e) {  
107 - e.printStackTrace(); 101 + pool.shutdown();
  102 + while (!pool.isTerminated()) {
  103 + // 等待所有子线程结束,才退出主线程
108 } 104 }
  105 + logger.info("------------------当天更新完成");
109 } 106 }
110 107
111 108
@@ -138,8 +135,17 @@ public class YXYReadService { @@ -138,8 +135,17 @@ public class YXYReadService {
138 student.setAccount(object.get("account").toString()); 135 student.setAccount(object.get("account").toString());
139 student.setName(object.get("name").toString()); 136 student.setName(object.get("name").toString());
140 student.setUserId(object.get("userID").toString()); 137 student.setUserId(object.get("userID").toString());
  138 + }catch (Exception e){
  139 + }
  140 + try{
141 student.setCardID(object.get("cardID").toString()); 141 student.setCardID(object.get("cardID").toString());
  142 + }catch (Exception e){
  143 + }
  144 + try{
142 student.setCardID2(object.get("cardID2").toString()); 145 student.setCardID2(object.get("cardID2").toString());
  146 + }catch (Exception e){
  147 + }
  148 + try{
143 student.setCardID3(object.get("cardID3").toString()); 149 student.setCardID3(object.get("cardID3").toString());
144 }catch (Exception e){ 150 }catch (Exception e){
145 } 151 }