diff --git a/elastic-job-springboot-core/src/main/java/com/example/serive/JobService.java b/elastic-job-springboot-core/src/main/java/com/example/serive/JobService.java index e50c77a..8636cb9 100644 --- a/elastic-job-springboot-core/src/main/java/com/example/serive/JobService.java +++ b/elastic-job-springboot-core/src/main/java/com/example/serive/JobService.java @@ -54,6 +54,14 @@ public interface JobService { */ void pauseJob(String jobName); + /** + * 是否暂停 + * + * @param jobName + * @return + */ + Boolean isPaused(String jobName); + /** * 恢复任务 * diff --git a/elastic-job-springboot-core/src/main/java/com/example/serive/impl/JobServiceImpl.java b/elastic-job-springboot-core/src/main/java/com/example/serive/impl/JobServiceImpl.java index dfe87fc..d1b8772 100644 --- a/elastic-job-springboot-core/src/main/java/com/example/serive/impl/JobServiceImpl.java +++ b/elastic-job-springboot-core/src/main/java/com/example/serive/impl/JobServiceImpl.java @@ -109,7 +109,20 @@ public class JobServiceImpl implements JobService { jobScheduleController.pauseJob(); } } - + /** + * 恢复任务 + */ + @Override + public Boolean isPaused(String jobName) { + JobScheduleController jobScheduleController = JobRegistry.getInstance().getJobScheduleController(jobName); + if (jobScheduleController != null) { + return jobScheduleController.isPaused(); + } + return false; + } + /** + * 恢复任务 + */ @Override public void resumeJob(String jobName) { JobScheduleController jobScheduleController = JobRegistry.getInstance().getJobScheduleController(jobName); @@ -118,6 +131,7 @@ public class JobServiceImpl implements JobService { } } + /** * 立刻启动作业 */ @@ -165,11 +179,15 @@ public class JobServiceImpl implements JobService { @Override public void updateJob(Job job) { - Preconditions.checkArgument(!Strings.isNullOrEmpty(job.getJobName()), "jobName can not be empty."); - Preconditions.checkArgument(!Strings.isNullOrEmpty(job.getCron()), "cron can not be empty."); - Preconditions.checkArgument(job.getShardingTotalCount() > 0, "shardingTotalCount should larger than zero."); - JobNodePath jobNodePath = new JobNodePath(job.getJobName()); - center.update(jobNodePath.getConfigNodePath(), LiteJobConfigurationGsonFactory.toJsonForObject(job)); + JobScheduleController jobScheduleController = JobRegistry.getInstance().getJobScheduleController(job.getJobName()); + if (jobScheduleController != null) { + jobScheduleController.rescheduleJob(job.getCron()); + } +// Preconditions.checkArgument(!Strings.isNullOrEmpty(job.getJobName()), "jobName can not be empty."); +// Preconditions.checkArgument(!Strings.isNullOrEmpty(job.getCron()), "cron can not be empty."); +// Preconditions.checkArgument(job.getShardingTotalCount() > 0, "shardingTotalCount should larger than zero."); +// JobNodePath jobNodePath = new JobNodePath(job.getJobName()); +// center.update(jobNodePath.getConfigNodePath(), LiteJobConfigurationGsonFactory.toJsonForObject(job)); } private void buildSimpleJobSettings(String jobName, Job job, LiteJobConfiguration liteJobConfig) {