mirror of
http://git.pig4cloud.com/pig/pigx.git
synced 2026-11-08 12:39:05 +08:00
♻️ Refactoring code.refactor quartz enum
This commit is contained in:
1 parent
066be6b1af
commit
cae68f043d
10 files changed
+41
-42
No files matched your search
+3
-3
@@ -44,11 +44,11 @@ public class PigxInitQuartzJob {
|
||||
@Bean
|
||||
public void customize() {
|
||||
sysJobService.list().forEach(sysjob -> {
|
||||
if (PigxQuartzEnum.JOBSTATUSRELEASE.getType().equals(sysjob.getJobStatus())) {
|
||||
if (PigxQuartzEnum.JOB_STATUS_RELEASE.getType().equals(sysjob.getJobStatus())) {
|
||||
taskUtil.removeJob(sysjob, scheduler);
|
||||
} else if (PigxQuartzEnum.JOBSTATUSRUNNING.getType().equals(sysjob.getJobStatus())) {
|
||||
} else if (PigxQuartzEnum.JOB_STATUS_RUNNING.getType().equals(sysjob.getJobStatus())) {
|
||||
taskUtil.resumeJob(sysjob, scheduler);
|
||||
} else if (PigxQuartzEnum.JOBSTATUSNOTRUNNING.getType().equals(sysjob.getJobStatus())) {
|
||||
} else if (PigxQuartzEnum.JOB_STATUS_NOT_RUNNING.getType().equals(sysjob.getJobStatus())) {
|
||||
taskUtil.pauseJob(sysjob, scheduler);
|
||||
} else {
|
||||
taskUtil.removeJob(sysjob, scheduler);
|
||||
|
||||
+1
-1
@@ -43,7 +43,7 @@ public class PigxQuartzFactory implements Job {
|
||||
@Override
|
||||
@SneakyThrows
|
||||
public void execute(JobExecutionContext jobExecutionContext) {
|
||||
SysJob sysJob = (SysJob) jobExecutionContext.getMergedJobDataMap().get(PigxQuartzEnum.SCHEDULEJOBKEY.getType());
|
||||
SysJob sysJob = (SysJob) jobExecutionContext.getMergedJobDataMap().get(PigxQuartzEnum.SCHEDULE_JOB_KEY.getType());
|
||||
pigxQuartzInvokeFactory.init(sysJob, jobExecutionContext.getTrigger());
|
||||
}
|
||||
}
|
||||
+7
-8
@@ -52,34 +52,33 @@ public enum PigxQuartzEnum {
|
||||
/**
|
||||
* 任务详细信息的key
|
||||
*/
|
||||
SCHEDULEJOBKEY("scheduleJob", "获取任务详细信息的key"),
|
||||
SCHEDULE_JOB_KEY("scheduleJob", "获取任务详细信息的key"),
|
||||
|
||||
/**
|
||||
* JOB执行状态:0执行成功
|
||||
*/
|
||||
JOBLOGSTATUSSUCCESS("0", "执行成功"),
|
||||
JOB_LOG_STATUS_SUCCESS("0", "执行成功"),
|
||||
/**
|
||||
* JOB执行状态:1执行失败
|
||||
*/
|
||||
JOBLOGSTATUFAIL("1", "执行失败"),
|
||||
JOB_LOG_STATUS_FAIL("1", "执行失败"),
|
||||
|
||||
/**
|
||||
* JOB状态:1已发布
|
||||
*/
|
||||
JOBSTATUSRELEASE("1", "未发布"),
|
||||
JOB_STATUS_RELEASE("1", "已发布"),
|
||||
/**
|
||||
* JOB状态:2运行中
|
||||
*/
|
||||
JOBSTATUSRUNNING("2", "运行中"),
|
||||
JOB_STATUS_RUNNING("2", "运行中"),
|
||||
/**
|
||||
* JOB状态:3暂停
|
||||
*/
|
||||
JOBSTATUSNOTRUNNING("3", "暂停"),
|
||||
JOB_STATUS_NOT_RUNNING("3", "暂停"),
|
||||
/**
|
||||
* JOB状态:4删除
|
||||
*/
|
||||
JOBSTATUSDEL("4", "删除");
|
||||
|
||||
JOB_STATUS_DEL("4", "删除");
|
||||
|
||||
/**
|
||||
* 类型
|
||||
|
||||
+17
-17
@@ -95,7 +95,7 @@ public class SysJobController {
|
||||
@PreAuthorize("@pms.hasPermission('job_sysjob_add')")
|
||||
@ApiOperation(value = "新增定时任务")
|
||||
public R save(@RequestBody SysJob sysJob) {
|
||||
sysJob.setJobStatus(JOBSTATUSRELEASE.getType());
|
||||
sysJob.setJobStatus(JOB_STATUS_RELEASE.getType());
|
||||
sysJob.setCreateBy(SecurityUtils.getUser().getUsername());
|
||||
sysJob.setTenantId(TenantContextHolder.getTenantId());
|
||||
return R.builder().data(sysJobService.save(sysJob)).build();
|
||||
@@ -114,10 +114,10 @@ public class SysJobController {
|
||||
public R updateById(@RequestBody SysJob sysJob) {
|
||||
sysJob.setUpdateBy(SecurityUtils.getUser().getUsername());
|
||||
SysJob querySysJob = this.sysJobService.getById(sysJob.getJobId());
|
||||
if (JOBSTATUSNOTRUNNING.getType().equals(querySysJob.getJobStatus())) {
|
||||
if (JOB_STATUS_NOT_RUNNING.getType().equals(querySysJob.getJobStatus())) {
|
||||
this.taskUtil.addOrUpateJob(sysJob, scheduler);
|
||||
sysJobService.updateById(sysJob);
|
||||
} else if (JOBSTATUSRELEASE.getType().equals(querySysJob.getJobStatus())) {
|
||||
} else if (JOB_STATUS_RELEASE.getType().equals(querySysJob.getJobStatus())) {
|
||||
sysJobService.updateById(sysJob);
|
||||
}
|
||||
return R.builder().build();
|
||||
@@ -135,10 +135,10 @@ public class SysJobController {
|
||||
@ApiOperation(value = "唯一标识查询定时任务,暂停任务才能删除")
|
||||
public R removeById(@PathVariable Integer jobId) {
|
||||
SysJob querySysJob = this.sysJobService.getById(jobId);
|
||||
if (JOBSTATUSNOTRUNNING.getType().equals(querySysJob.getJobStatus())) {
|
||||
if (JOB_STATUS_NOT_RUNNING.getType().equals(querySysJob.getJobStatus())) {
|
||||
this.taskUtil.removeJob(querySysJob, scheduler);
|
||||
this.sysJobService.removeById(jobId);
|
||||
} else if (JOBSTATUSRELEASE.getType().equals(querySysJob.getJobStatus())) {
|
||||
} else if (JOB_STATUS_RELEASE.getType().equals(querySysJob.getJobStatus())) {
|
||||
this.sysJobService.removeById(jobId);
|
||||
}
|
||||
return R.builder().build();
|
||||
@@ -156,14 +156,14 @@ public class SysJobController {
|
||||
public R shutdownJobs() {
|
||||
taskUtil.pauseJobs(scheduler);
|
||||
int count = this.sysJobService.count(new LambdaQueryWrapper<SysJob>()
|
||||
.eq(SysJob::getJobStatus, JOBSTATUSRUNNING.getType()));
|
||||
.eq(SysJob::getJobStatus, JOB_STATUS_RUNNING.getType()));
|
||||
if (count <= 0) {
|
||||
return R.builder().msg("无正在运行定时任务").build();
|
||||
} else {
|
||||
//更新定时任务状态条件,运行状态2更新为暂停状态2
|
||||
this.sysJobService.update(SysJob.builder()
|
||||
.jobStatus(JOBSTATUSNOTRUNNING.getType()).build(), new UpdateWrapper<SysJob>()
|
||||
.lambda().eq(SysJob::getJobStatus, JOBSTATUSRUNNING.getType()));
|
||||
.jobStatus(JOB_STATUS_NOT_RUNNING.getType()).build(), new UpdateWrapper<SysJob>()
|
||||
.lambda().eq(SysJob::getJobStatus, JOB_STATUS_RUNNING.getType()));
|
||||
return R.builder().msg("暂停成功").build();
|
||||
}
|
||||
}
|
||||
@@ -179,9 +179,9 @@ public class SysJobController {
|
||||
@ApiOperation(value = "启动全部定时任务")
|
||||
public R startJobs() {
|
||||
//更新定时任务状态条件,暂停状态3更新为运行状态2
|
||||
this.sysJobService.update(SysJob.builder().jobStatus(JOBSTATUSRUNNING
|
||||
this.sysJobService.update(SysJob.builder().jobStatus(JOB_STATUS_RUNNING
|
||||
.getType()).build(), new UpdateWrapper<SysJob>().lambda()
|
||||
.eq(SysJob::getJobStatus, JOBSTATUSNOTRUNNING.getType()));
|
||||
.eq(SysJob::getJobStatus, JOB_STATUS_NOT_RUNNING.getType()));
|
||||
taskUtil.startJobs(scheduler);
|
||||
return R.builder().build();
|
||||
}
|
||||
@@ -197,11 +197,11 @@ public class SysJobController {
|
||||
@ApiOperation(value = "刷新全部定时任务")
|
||||
public R refreshJobs() {
|
||||
sysJobService.list().forEach((sysjob) -> {
|
||||
if (JOBSTATUSRELEASE.getType().equals(sysjob.getJobStatus())
|
||||
|| JOBSTATUSDEL.getType().equals(sysjob.getJobStatus())) {
|
||||
if (JOB_STATUS_RELEASE.getType().equals(sysjob.getJobStatus())
|
||||
|| JOB_STATUS_DEL.getType().equals(sysjob.getJobStatus())) {
|
||||
taskUtil.removeJob(sysjob, scheduler);
|
||||
} else if (JOBSTATUSRUNNING.getType().equals(sysjob.getJobStatus())
|
||||
|| JOBSTATUSNOTRUNNING.getType().equals(sysjob.getJobStatus())) {
|
||||
} else if (JOB_STATUS_RUNNING.getType().equals(sysjob.getJobStatus())
|
||||
|| JOB_STATUS_NOT_RUNNING.getType().equals(sysjob.getJobStatus())) {
|
||||
taskUtil.addOrUpateJob(sysjob, scheduler);
|
||||
} else {
|
||||
taskUtil.removeJob(sysjob, scheduler);
|
||||
@@ -222,7 +222,7 @@ public class SysJobController {
|
||||
@ApiOperation(value = "启动定时任务")
|
||||
public R startJob(@PathVariable("jobId") Integer jobId) {
|
||||
SysJob querySysJob = this.sysJobService.getById(jobId);
|
||||
if (querySysJob != null && JOBLOGSTATUFAIL.getType()
|
||||
if (querySysJob != null && JOB_LOG_STATUS_FAIL.getType()
|
||||
.equals(querySysJob.getJobStatus())) {
|
||||
taskUtil.addOrUpateJob(querySysJob, scheduler);
|
||||
} else {
|
||||
@@ -230,7 +230,7 @@ public class SysJobController {
|
||||
}
|
||||
//更新定时任务状态条件,暂停状态3更新为运行状态2
|
||||
this.sysJobService.updateById(SysJob.builder().jobId(jobId)
|
||||
.jobStatus(JOBSTATUSRUNNING.getType()).build());
|
||||
.jobStatus(JOB_STATUS_RUNNING.getType()).build());
|
||||
return R.builder().build();
|
||||
}
|
||||
|
||||
@@ -247,7 +247,7 @@ public class SysJobController {
|
||||
SysJob querySysJob = this.sysJobService.getById(jobId);
|
||||
//更新定时任务状态条件,运行状态2更新为暂停状态3
|
||||
this.sysJobService.updateById(SysJob.builder().jobId(querySysJob.getJobId())
|
||||
.jobStatus(JOBSTATUSNOTRUNNING.getType()).build());
|
||||
.jobStatus(JOB_STATUS_NOT_RUNNING.getType()).build());
|
||||
taskUtil.pauseJob(querySysJob, scheduler);
|
||||
return R.builder().build();
|
||||
}
|
||||
|
||||
+1
-1
@@ -35,6 +35,6 @@ public class Demo {
|
||||
@SneakyThrows
|
||||
public String demoMethod(String para) {
|
||||
log.info("郑健楠测试于:{},输入参数L{}", DateUtil.now(), para);
|
||||
return PigxQuartzEnum.JOBLOGSTATUSSUCCESS.getType();
|
||||
return PigxQuartzEnum.JOB_LOG_STATUS_SUCCESS.getType();
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -34,6 +34,6 @@ public class Demo1 {
|
||||
@SneakyThrows
|
||||
public String demoMethod(String para) {
|
||||
log.info("demo1测试于:{},输入参数L{}", new Date(), para);
|
||||
return PigxQuartzEnum.JOBLOGSTATUSSUCCESS.getType();
|
||||
return PigxQuartzEnum.JOB_LOG_STATUS_SUCCESS.getType();
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -53,7 +53,7 @@ public class JavaClassTaskInvok implements ITaskInvok {
|
||||
method = clazz.getDeclaredMethod(sysJob.getMethodName());
|
||||
returnValue = method.invoke(obj);
|
||||
}
|
||||
if (StrUtil.isEmpty(returnValue.toString()) || PigxQuartzEnum.JOBLOGSTATUFAIL.getType().equals(returnValue.toString())) {
|
||||
if (StrUtil.isEmpty(returnValue.toString()) || PigxQuartzEnum.JOB_LOG_STATUS_FAIL.getType().equals(returnValue.toString())) {
|
||||
log.error("定时任务javaClassTaskInvok异常,执行任务:{}", sysJob.getClassName());
|
||||
throw new TaskException("定时任务javaClassTaskInvok业务执行失败,任务:" + sysJob.getClassName());
|
||||
}
|
||||
|
||||
+1
-1
@@ -55,7 +55,7 @@ public class SpringBeanTaskInvok implements ITaskInvok {
|
||||
ReflectionUtils.makeAccessible(method);
|
||||
returnValue = method.invoke(target);
|
||||
}
|
||||
if (StrUtil.isEmpty(returnValue.toString()) || PigxQuartzEnum.JOBLOGSTATUFAIL.getType()
|
||||
if (StrUtil.isEmpty(returnValue.toString()) || PigxQuartzEnum.JOB_LOG_STATUS_FAIL.getType()
|
||||
.equals(returnValue.toString())) {
|
||||
log.error("定时任务springBeanTaskInvok异常,执行任务:{}", sysJob.getClassName());
|
||||
throw new TaskException("定时任务springBeanTaskInvok业务执行失败,任务:" + sysJob.getClassName());
|
||||
|
||||
+6
-6
@@ -108,11 +108,11 @@ public class TaskInvokUtil {
|
||||
}
|
||||
//获取执行结束时间
|
||||
endTime = System.currentTimeMillis();
|
||||
sysJobLog.setJobMessage(PigxQuartzEnum.JOBLOGSTATUSSUCCESS.getDescription());
|
||||
sysJobLog.setJobLogStatus(PigxQuartzEnum.JOBLOGSTATUSSUCCESS.getType());
|
||||
sysJobLog.setJobMessage(PigxQuartzEnum.JOB_LOG_STATUS_SUCCESS.getDescription());
|
||||
sysJobLog.setJobLogStatus(PigxQuartzEnum.JOB_LOG_STATUS_SUCCESS.getType());
|
||||
sysJobLog.setExecuteTime(String.valueOf(endTime - startTime));
|
||||
//任务表信息更新
|
||||
updateSysjob.setJobExecuteStatus(PigxQuartzEnum.JOBLOGSTATUSSUCCESS.getType());
|
||||
updateSysjob.setJobExecuteStatus(PigxQuartzEnum.JOB_LOG_STATUS_SUCCESS.getType());
|
||||
updateSysjob.setStarttime(trigger.getStartTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
||||
updateSysjob.setPrevioustime(trigger.getPreviousFireTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
||||
updateSysjob.setNexttime(trigger.getNextFireTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
||||
@@ -120,12 +120,12 @@ public class TaskInvokUtil {
|
||||
//获取执行结束时间
|
||||
endTime = System.currentTimeMillis();
|
||||
log.error("定时任务执行失败,任务名称:{};任务组名:{},cron执行表达式:{},执行时间:{}", sysJob.getJobName(), sysJob.getJobGroup(), sysJob.getCronExpression(), new Date());
|
||||
sysJobLog.setJobMessage(PigxQuartzEnum.JOBLOGSTATUFAIL.getDescription());
|
||||
sysJobLog.setJobLogStatus(PigxQuartzEnum.JOBLOGSTATUFAIL.getType());
|
||||
sysJobLog.setJobMessage(PigxQuartzEnum.JOB_LOG_STATUS_FAIL.getDescription());
|
||||
sysJobLog.setJobLogStatus(PigxQuartzEnum.JOB_LOG_STATUS_FAIL.getType());
|
||||
sysJobLog.setExecuteTime(String.valueOf(endTime - startTime));
|
||||
sysJobLog.setExceptionInfo(StrUtil.sub(e.getMessage(), 0, 2000));
|
||||
//任务表信息更新
|
||||
updateSysjob.setJobExecuteStatus(PigxQuartzEnum.JOBLOGSTATUFAIL.getType());
|
||||
updateSysjob.setJobExecuteStatus(PigxQuartzEnum.JOB_LOG_STATUS_FAIL.getType());
|
||||
updateSysjob.setStarttime(trigger.getStartTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
||||
updateSysjob.setPrevioustime(trigger.getPreviousFireTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
||||
updateSysjob.setNexttime(trigger.getNextFireTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
||||
|
||||
+3
-3
@@ -72,7 +72,7 @@ public class TaskUtil {
|
||||
//新建一个工作任务 指定任务类型为串接进行的
|
||||
JobDetail jobDetail = JobBuilder.newJob(PigxQuartzFactory.class).withIdentity(jobKey).build();
|
||||
//将任务信息添加到任务信息中
|
||||
jobDetail.getJobDataMap().put(SCHEDULEJOBKEY.getType(), sysjob);
|
||||
jobDetail.getJobDataMap().put(SCHEDULE_JOB_KEY.getType(), sysjob);
|
||||
//将cron表达式进行转换
|
||||
CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(sysjob.getCronExpression());
|
||||
cronScheduleBuilder = this.handleCronScheduleMisfirePolicy(sysjob, cronScheduleBuilder);
|
||||
@@ -86,12 +86,12 @@ public class TaskUtil {
|
||||
//按照新的规则进行
|
||||
trigger = trigger.getTriggerBuilder().withIdentity(triggerKey).withSchedule(cronScheduleBuilder).build();
|
||||
//将任务信息更新到任务信息中
|
||||
trigger.getJobDataMap().put(SCHEDULEJOBKEY.getType(), sysjob);
|
||||
trigger.getJobDataMap().put(SCHEDULE_JOB_KEY.getType(), sysjob);
|
||||
//重启
|
||||
scheduler.rescheduleJob(triggerKey, trigger);
|
||||
}
|
||||
// 如任务状态为暂停
|
||||
if (sysjob.getJobStatus().equals(JOBSTATUSNOTRUNNING.getType())) {
|
||||
if (sysjob.getJobStatus().equals(JOB_STATUS_NOT_RUNNING.getType())) {
|
||||
this.pauseJob(sysjob, scheduler);
|
||||
}
|
||||
} catch (SchedulerException e) {
|
||||
|
||||
Reference in new issue
Block a user