瀏覽代碼

update document

xuxueli 6 年之前
父節點
當前提交
3d951f2bc6
共有 1 個文件被更改,包括 11 次插入8 次删除
  1. 11 8
      xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java

+ 11 - 8
xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java 查看文件

@@ -67,13 +67,14 @@ public class JobScheduleHelper {
67 67
                         // tx start
68 68
 
69 69
                         // 1、预读5s内调度任务
70
-                        List<XxlJobInfo> scheduleList = XxlJobAdminConfig.getAdminConfig().getXxlJobInfoDao().scheduleJobQuery(System.currentTimeMillis() + PRE_READ_MS);
70
+                        long nowTime = System.currentTimeMillis();
71
+                        List<XxlJobInfo> scheduleList = XxlJobAdminConfig.getAdminConfig().getXxlJobInfoDao().scheduleJobQuery(nowTime + PRE_READ_MS);
71 72
                         if (scheduleList!=null && scheduleList.size()>0) {
72 73
                             // 2、推送时间轮
73 74
                             for (XxlJobInfo jobInfo: scheduleList) {
74 75
 
75 76
                                 // 时间轮刻度计算
76
-                                if (System.currentTimeMillis() > jobInfo.getTriggerNextTime() + PRE_READ_MS) {
77
+                                if (nowTime > jobInfo.getTriggerNextTime() + PRE_READ_MS) {
77 78
                                     // 过期超5s:本地忽略,当前时间开始计算下次触发时间
78 79
 
79 80
                                     // fresh next
@@ -84,21 +85,23 @@ public class JobScheduleHelper {
84 85
                                                     .getTime()
85 86
                                     );
86 87
 
87
-                                } else if (System.currentTimeMillis() > jobInfo.getTriggerNextTime()) {
88
-                                    // 过期5s内 :立即触发一次,当前时间开始计算下次触发时间;一旦过期,预读一次;
88
+                                } else if (nowTime > jobInfo.getTriggerNextTime()) {
89
+                                    // 过期5s内 :立即触发一次,当前时间开始计算下次触发时间;
89 90
 
90 91
                                     CronExpression cronExpression = new CronExpression(jobInfo.getJobCron());
91 92
                                     long nextTime = cronExpression.getNextValidTimeAfter(new Date()).getTime();
92 93
 
93 94
                                     // 1、trigger
94 95
                                     JobTriggerPoolHelper.trigger(jobInfo.getId(), TriggerTypeEnum.CRON, -1, null, null);
96
+                                    logger.debug(">>>>>>>>>>> xxl-job, shecule push trigger : jobId = " + jobInfo.getId() );
95 97
 
96 98
                                     // 2、fresh next
97 99
                                     jobInfo.setTriggerLastTime(jobInfo.getTriggerNextTime());
98 100
                                     jobInfo.setTriggerNextTime(nextTime);
99 101
 
100
-                                    // 3、check pre read
101
-                                    if (jobInfo.getTriggerNextTime() - System.currentTimeMillis() < PRE_READ_MS) {
102
+
103
+                                    // 下次5s内:预读一次;
104
+                                    if (jobInfo.getTriggerNextTime() - nowTime < PRE_READ_MS) {
102 105
 
103 106
                                         // 1、make ring second
104 107
                                         int ringSecond = (int)((jobInfo.getTriggerNextTime()/1000)%60);
@@ -116,7 +119,6 @@ public class JobScheduleHelper {
116 119
 
117 120
                                     }
118 121
 
119
-                                    logger.debug(">>>>>>>>>>> xxl-job, push trigger : jobId = " + jobInfo.getId() );
120 122
                                 } else {
121 123
                                     // 未过期:正常触发,递增计算下次触发时间
122 124
 
@@ -133,6 +135,7 @@ public class JobScheduleHelper {
133 135
                                                     .getNextValidTimeAfter(new Date(jobInfo.getTriggerNextTime()))
134 136
                                                     .getTime()
135 137
                                     );
138
+
136 139
                                 }
137 140
 
138 141
                             }
@@ -257,7 +260,7 @@ public class JobScheduleHelper {
257 260
         }
258 261
         ringItemData.add(jobId);
259 262
 
260
-        logger.debug(">>>>>>>>>>> xxl-job, push time-ring : " + ringSecond + " = " + Arrays.asList(ringItemData) );
263
+        logger.debug(">>>>>>>>>>> xxl-job, shecule push time-ring : " + ringSecond + " = " + Arrays.asList(ringItemData) );
261 264
     }
262 265
 
263 266
     public void toStop(){