/** * Construct a {@link JobDetail} from the given {@link ProgramId} and {@link SchedulableProgramType}. * Add the {@link JobDetail} the scheduler and return it */ private JobDetail addJob(ProgramId program, SchedulableProgramType programType) throws SchedulerException { String jobKey = jobKeyFor(program, programType).getName(); JobDetail job = JobBuilder.newJob(DefaultSchedulerService.ScheduledJob.class) .withIdentity(jobKey) .storeDurably(true) .build(); try { scheduler.addJob(job, true); return job; } catch (org.quartz.SchedulerException e) { throw new SchedulerException(e); } }
/** * Construct a {@link JobDetail} from the given {@link ProgramId} and {@link SchedulableProgramType}. * Add the {@link JobDetail} the scheduler and return it */ private JobDetail addJob(ProgramId program, SchedulableProgramType programType) throws SchedulerException { String jobKey = jobKeyFor(program, programType).getName(); JobDetail job = JobBuilder.newJob(DefaultSchedulerService.ScheduledJob.class) .withIdentity(jobKey) .storeDurably(true) .build(); try { scheduler.addJob(job, true); return job; } catch (org.quartz.SchedulerException e) { throw new SchedulerException(e); } }
List<ScheduledRuntime> scheduledRuntimes = new ArrayList<>(); try { for (Trigger trigger : scheduler.getTriggersOfJob(jobKeyFor(program, programType))) {
List<ScheduledRuntime> scheduledRuntimes = new ArrayList<>(); try { for (Trigger trigger : scheduler.getTriggersOfJob(jobKeyFor(program, programType))) {
private List<ScheduledRuntime> getScheduledRuntime(ProgramId program, SchedulableProgramType programType, boolean previousRuntimeRequested) throws SchedulerException { List<ScheduledRuntime> scheduledRuntimes = new ArrayList<>(); try { for (Trigger trigger : scheduler.getTriggersOfJob(jobKeyFor(program, programType))) { long time; if (previousRuntimeRequested) { if (trigger.getPreviousFireTime() == null) { // previous fire time can be null for the triggers which are not yet fired continue; } time = trigger.getPreviousFireTime().getTime(); } else { // skip the trigger that is not enabled, since it cannot launch program as scheduled if (scheduler.getTriggerState(trigger.getKey()) == Trigger.TriggerState.PAUSED) { continue; } time = trigger.getNextFireTime().getTime(); } ScheduledRuntime runtime = new ScheduledRuntime(trigger.getKey().toString(), time); scheduledRuntimes.add(runtime); } } catch (org.quartz.SchedulerException e) { throw new SchedulerException(e); } return scheduledRuntimes; }
private List<ScheduledRuntime> getScheduledRuntime(ProgramId program, SchedulableProgramType programType, boolean previousRuntimeRequested) throws SchedulerException { List<ScheduledRuntime> scheduledRuntimes = new ArrayList<>(); try { for (Trigger trigger : scheduler.getTriggersOfJob(jobKeyFor(program, programType))) { long time; if (previousRuntimeRequested) { if (trigger.getPreviousFireTime() == null) { // previous fire time can be null for the triggers which are not yet fired continue; } time = trigger.getPreviousFireTime().getTime(); } else { // skip the trigger that is not enabled, since it cannot launch program as scheduled if (scheduler.getTriggerState(trigger.getKey()) == Trigger.TriggerState.PAUSED) { continue; } time = trigger.getNextFireTime().getTime(); } ScheduledRuntime runtime = new ScheduledRuntime(trigger.getKey().toString(), time); scheduledRuntimes.add(runtime); } } catch (org.quartz.SchedulerException e) { throw new SchedulerException(e); } return scheduledRuntimes; }