提交 19d1ac2e authored 作者: xuxueli's avatar xuxueli

update document

上级 5c1f5932
...@@ -58,8 +58,8 @@ public class JobScheduleHelper { ...@@ -58,8 +58,8 @@ public class JobScheduleHelper {
// tx start // tx start
// 1、查询JOB:"下次调度30s内" // 1、预读10s内调度任务
long maxNextTime = System.currentTimeMillis() + 30000; long maxNextTime = System.currentTimeMillis() + 10000;
long nowTime = System.currentTimeMillis(); long nowTime = System.currentTimeMillis();
List<XxlJobInfo> scheduleList = XxlJobAdminConfig.getAdminConfig().getXxlJobInfoDao().scheduleJobQuery(maxNextTime); List<XxlJobInfo> scheduleList = XxlJobAdminConfig.getAdminConfig().getXxlJobInfoDao().scheduleJobQuery(maxNextTime);
if (scheduleList!=null && scheduleList.size()>0) { if (scheduleList!=null && scheduleList.size()>0) {
......
...@@ -189,13 +189,15 @@ public class XxlJobServiceImpl implements XxlJobService { ...@@ -189,13 +189,15 @@ public class XxlJobServiceImpl implements XxlJobService {
return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("jobinfo_field_id")+I18nUtil.getString("system_not_found")) ); return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("jobinfo_field_id")+I18nUtil.getString("system_not_found")) );
} }
// next trigger time // next trigger time (10s后生效,避开预读周期)
long nextTriggerTime = 0; long nextTriggerTime = 0;
try { if (exists_jobInfo.getTriggerStatus() == 1) {
nextTriggerTime = new CronExpression(jobInfo.getJobCron()).getNextValidTimeAfter(new Date()).getTime(); try {
} catch (ParseException e) { nextTriggerTime = new CronExpression(jobInfo.getJobCron()).getNextValidTimeAfter(new Date(System.currentTimeMillis() + 10000)).getTime();
logger.error(e.getMessage(), e); } catch (ParseException e) {
return new ReturnT<String>(ReturnT.FAIL_CODE, I18nUtil.getString("jobinfo_field_cron_unvalid")+" | "+ e.getMessage()); logger.error(e.getMessage(), e);
return new ReturnT<String>(ReturnT.FAIL_CODE, I18nUtil.getString("jobinfo_field_cron_unvalid")+" | "+ e.getMessage());
}
} }
exists_jobInfo.setJobGroup(jobInfo.getJobGroup()); exists_jobInfo.setJobGroup(jobInfo.getJobGroup());
...@@ -234,10 +236,10 @@ public class XxlJobServiceImpl implements XxlJobService { ...@@ -234,10 +236,10 @@ public class XxlJobServiceImpl implements XxlJobService {
public ReturnT<String> start(int id) { public ReturnT<String> start(int id) {
XxlJobInfo xxlJobInfo = xxlJobInfoDao.loadById(id); XxlJobInfo xxlJobInfo = xxlJobInfoDao.loadById(id);
// next trigger time // next trigger time (10s后生效,避开预读周期)
long nextTriggerTime = 0; long nextTriggerTime = 0;
try { try {
nextTriggerTime = new CronExpression(xxlJobInfo.getJobCron()).getNextValidTimeAfter(new Date()).getTime(); nextTriggerTime = new CronExpression(xxlJobInfo.getJobCron()).getNextValidTimeAfter(new Date(System.currentTimeMillis() + 10000)).getTime();
} catch (ParseException e) { } catch (ParseException e) {
logger.error(e.getMessage(), e); logger.error(e.getMessage(), e);
return new ReturnT<String>(ReturnT.FAIL_CODE, I18nUtil.getString("jobinfo_field_cron_unvalid")+" | "+ e.getMessage()); 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,18 +257,9 @@ public class XxlJobServiceImpl implements XxlJobService {
public ReturnT<String> stop(int id) { public ReturnT<String> stop(int id) {
XxlJobInfo xxlJobInfo = xxlJobInfoDao.loadById(id); XxlJobInfo xxlJobInfo = xxlJobInfoDao.loadById(id);
// next trigger time
long nextTriggerTime = 0;
try {
nextTriggerTime = new CronExpression(xxlJobInfo.getJobCron()).getNextValidTimeAfter(new Date()).getTime();
} catch (ParseException e) {
logger.error(e.getMessage(), e);
return new ReturnT<String>(ReturnT.FAIL_CODE, I18nUtil.getString("jobinfo_field_cron_unvalid")+" | "+ e.getMessage());
}
xxlJobInfo.setTriggerStatus(0); xxlJobInfo.setTriggerStatus(0);
xxlJobInfo.setTriggerLastTime(0); xxlJobInfo.setTriggerLastTime(0);
xxlJobInfo.setTriggerNextTime(nextTriggerTime); xxlJobInfo.setTriggerNextTime(0);
xxlJobInfoDao.update(xxlJobInfo); xxlJobInfoDao.update(xxlJobInfo);
return ReturnT.SUCCESS; return ReturnT.SUCCESS;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论