Browse Source

update document

xuxueli 6 years ago
parent
commit
19d1ac2ec2

+ 2 - 2
xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java View File

@@ -58,8 +58,8 @@ public class JobScheduleHelper {
58 58
 
59 59
                         // tx start
60 60
 
61
-                        // 1、查询JOB:"下次调度30s内"
62
-                        long maxNextTime = System.currentTimeMillis() + 30000;
61
+                        // 1、预读10s内调度任务
62
+                        long maxNextTime = System.currentTimeMillis() + 10000;
63 63
                         long nowTime = System.currentTimeMillis();
64 64
                         List<XxlJobInfo> scheduleList = XxlJobAdminConfig.getAdminConfig().getXxlJobInfoDao().scheduleJobQuery(maxNextTime);
65 65
                         if (scheduleList!=null && scheduleList.size()>0) {

+ 11 - 18
xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java View File

@@ -189,13 +189,15 @@ public class XxlJobServiceImpl implements XxlJobService {
189 189
 			return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("jobinfo_field_id")+I18nUtil.getString("system_not_found")) );
190 190
 		}
191 191
 
192
-		// next trigger time
192
+		// next trigger time (10s后生效,避开预读周期)
193 193
 		long nextTriggerTime = 0;
194
-		try {
195
-			nextTriggerTime = new CronExpression(jobInfo.getJobCron()).getNextValidTimeAfter(new Date()).getTime();
196
-		} catch (ParseException e) {
197
-			logger.error(e.getMessage(), e);
198
-			return new ReturnT<String>(ReturnT.FAIL_CODE, I18nUtil.getString("jobinfo_field_cron_unvalid")+" | "+ e.getMessage());
194
+		if (exists_jobInfo.getTriggerStatus() == 1) {
195
+			try {
196
+				nextTriggerTime = new CronExpression(jobInfo.getJobCron()).getNextValidTimeAfter(new Date(System.currentTimeMillis() + 10000)).getTime();
197
+			} catch (ParseException e) {
198
+				logger.error(e.getMessage(), e);
199
+				return new ReturnT<String>(ReturnT.FAIL_CODE, I18nUtil.getString("jobinfo_field_cron_unvalid")+" | "+ e.getMessage());
200
+			}
199 201
 		}
200 202
 
201 203
 		exists_jobInfo.setJobGroup(jobInfo.getJobGroup());
@@ -234,10 +236,10 @@ public class XxlJobServiceImpl implements XxlJobService {
234 236
 	public ReturnT<String> start(int id) {
235 237
 		XxlJobInfo xxlJobInfo = xxlJobInfoDao.loadById(id);
236 238
 
237
-		// next trigger time
239
+		// next trigger time (10s后生效,避开预读周期)
238 240
 		long nextTriggerTime = 0;
239 241
 		try {
240
-			nextTriggerTime = new CronExpression(xxlJobInfo.getJobCron()).getNextValidTimeAfter(new Date()).getTime();
242
+			nextTriggerTime = new CronExpression(xxlJobInfo.getJobCron()).getNextValidTimeAfter(new Date(System.currentTimeMillis() + 10000)).getTime();
241 243
 		} catch (ParseException e) {
242 244
 			logger.error(e.getMessage(), e);
243 245
 			return new ReturnT<String>(ReturnT.FAIL_CODE, I18nUtil.getString("jobinfo_field_cron_unvalid")+" | "+ e.getMessage());
@@ -255,18 +257,9 @@ public class XxlJobServiceImpl implements XxlJobService {
255 257
 	public ReturnT<String> stop(int id) {
256 258
         XxlJobInfo xxlJobInfo = xxlJobInfoDao.loadById(id);
257 259
 
258
-		// next trigger time
259
-		long nextTriggerTime = 0;
260
-		try {
261
-			nextTriggerTime = new CronExpression(xxlJobInfo.getJobCron()).getNextValidTimeAfter(new Date()).getTime();
262
-		} catch (ParseException e) {
263
-			logger.error(e.getMessage(), e);
264
-			return new ReturnT<String>(ReturnT.FAIL_CODE, I18nUtil.getString("jobinfo_field_cron_unvalid")+" | "+ e.getMessage());
265
-		}
266
-
267 260
 		xxlJobInfo.setTriggerStatus(0);
268 261
 		xxlJobInfo.setTriggerLastTime(0);
269
-		xxlJobInfo.setTriggerNextTime(nextTriggerTime);
262
+		xxlJobInfo.setTriggerNextTime(0);
270 263
 
271 264
 		xxlJobInfoDao.update(xxlJobInfo);
272 265
 		return ReturnT.SUCCESS;