public void triggerFired(Trigger trigger, JobExecutionContext context) { if (!getLog().isInfoEnabled()) { return; } Object[] args = { trigger.getKey().getName(), trigger.getKey().getGroup(), trigger.getPreviousFireTime(), trigger.getNextFireTime(), new java.util.Date(), context.getJobDetail().getKey().getName(), context.getJobDetail().getKey().getGroup(), Integer.valueOf(context.getRefireCount()) }; getLog().info(MessageFormat.format(getTriggerFiredMessage(), args)); }
boolean triggerExists = (getScheduler().getTrigger(trigger.getKey()) != null); if (triggerExists && !this.overwriteExistingJobs) { return false; JobDetail jobDetail = (JobDetail) trigger.getJobDataMap().remove("jobDetail"); if (triggerExists) { if (jobDetail != null && this.jobDetails != null && getScheduler().rescheduleJob(trigger.getKey(), trigger); try { if (jobDetail != null && this.jobDetails != null && !this.jobDetails.contains(jobDetail) && (this.overwriteExistingJobs || getScheduler().getJobDetail(jobDetail.getKey()) == null)) { getScheduler().scheduleJob(jobDetail, trigger); this.jobDetails.add(jobDetail); getScheduler().rescheduleJob(trigger.getKey(), trigger);
public void triggerMisfired(Trigger trigger) { if (!getLog().isInfoEnabled()) { return; } Object[] args = { trigger.getKey().getName(), trigger.getKey().getGroup(), trigger.getPreviousFireTime(), trigger.getNextFireTime(), new java.util.Date(), trigger.getJobKey().getName(), trigger.getJobKey().getGroup() }; getLog().info(MessageFormat.format(getTriggerMisfiredMessage(), args)); }
public int compare(Trigger t1, Trigger t2) { return compare(t1.getNextFireTime(), t1.getPriority(), t1.getKey(), t2.getNextFireTime(), t2.getPriority(), t2.getKey()); } }
boolean isTriggerPaused(Trigger trigger, Scheduler scheduler) throws SchedulerException { return scheduler.getTriggerState(trigger.getName(), trigger.getGroup()) == Trigger.STATE_PAUSED; }
public static CompositeData toCompositeData(Trigger trigger) { try { return new CompositeDataSupport(COMPOSITE_TYPE, ITEM_NAMES, new Object[] { trigger.getKey().getName(), trigger.getKey().getGroup(), trigger.getJobKey().getName(), trigger.getJobKey().getGroup(), trigger.getDescription(), JobDataMapSupport.toTabularData(trigger .getJobDataMap()), trigger.getCalendarName(), ((OperableTrigger)trigger).getFireInstanceId(), trigger.getMisfireInstruction(), trigger.getPriority(), trigger.getStartTime(), trigger.getEndTime(), trigger.getNextFireTime(), trigger.getPreviousFireTime(), trigger.getFinalFireTime() }); } catch (OpenDataException e) { throw new RuntimeException(e); } }
dupeJ = sched.getJobDetail(detail.getKey()); } catch (JobPersistenceException e) { if (e.getCause() instanceof ClassNotFoundException && isOverWriteExistingData()) { log.info("Removing job: " + detail.getKey()); sched.deleteJob(detail.getKey()); } else { throw e; trigger.setStartTime(new Date()); log.info("Not overwriting existing trigger: " + dupeT.getKey()); continue; // just ignore the trigger (and possibly job) } else { if (!dupeT.getJobKey().equals(trigger.getJobKey())) { log.warn("Possibly duplicately named ({}) triggers in jobs xml file! ", trigger.getKey()); trigger.setStartTime(new Date()); log.info("Not overwriting existing trigger: " + dupeT.getKey()); continue; // just ignore the trigger if(!dupeT.getJobKey().equals(trigger.getJobKey())) { log.warn("Possibly duplicately named ({}) triggers in jobs xml file! ", trigger.getKey());
public void triggerFired(Trigger trigger, JobExecutionContext context) { if (!getLog().isInfoEnabled()) { return; } Object[] args = { trigger.getName(), trigger.getGroup(), trigger.getPreviousFireTime(), trigger.getNextFireTime(), new java.util.Date(), context.getJobDetail().getName(), context.getJobDetail().getGroup(), new Integer(context.getRefireCount()) }; getLog().info(MessageFormat.format(getTriggerFiredMessage(), args)); }
public void triggerMisfired(Trigger trigger) { if (!getLog().isInfoEnabled()) { return; } Object[] args = { trigger.getName(), trigger.getGroup(), trigger.getPreviousFireTime(), trigger.getNextFireTime(), new java.util.Date(), trigger.getJobName(), trigger.getJobGroup() }; getLog().info(MessageFormat.format(getTriggerMisfiredMessage(), args)); }
public void addTrigger(Trigger trigger) { if (trigger.getStartTime() == null) { trigger.setStartTime(new Date()); } triggers.add(trigger); }
.withIdentity(quartzJobHandle.getJobName(), quartzJobHandle.getJobGroup()) .requestRecovery() .usingJobData(new JobDataMap(dataMap)) .build(); Date threshold = new Date(System.currentTimeMillis() + RESCHEDULE_DELAY); if (nextFireTime.before(threshold)) { logger.debug("nextFireTime [" + nextFireTime + "] is older than (now + RESCHEDULE_DELAY). Amending it to [" + threshold + "]"); nextFireTime = threshold; .build(); logger.debug("triggerq.name = {}, triggerq.startTime = {}", triggerq.getKey().getName(), triggerq.getStartTime()); // nextFireTime is mapped to startTime if (scheduler.isShutdown()) { return; JobDetail jobDetail = scheduler.getJobDetail(jobKey(quartzJobHandle.getJobName(), quartzJobHandle.getJobGroup())); if (jobDetail == null) { scheduler.scheduleJob(jobq, triggerq); } else { scheduler.addJob(jobq, true, true); scheduler.rescheduleJob(triggerq.getKey(), triggerq);
if (jobDetail.getKey() == null) { throw new SchedulerException("Job's key cannot be null"); if (jobDetail.getJobClass() == null) { throw new SchedulerException("Job's class cannot be null"); if (trigger.getJobKey() == null) { trig.setJobKey(jobDetail.getKey()); } else if (!trigger.getJobKey().equals(jobDetail.getKey())) { throw new SchedulerException( "Trigger does not reference given job!"); if (trigger.getCalendarName() != null) { cal = resources.getJobStore().retrieveCalendar(trigger.getCalendarName()); "Based on configured schedule, the given trigger '" + trigger.getKey() + "' will never fire."); notifySchedulerThread(trigger.getNextFireTime().getTime()); notifySchedulerListenersSchduled(trigger);
if (trigger.getCalendarName() != null) { cal = resources.getJobStore().retrieveCalendar(trigger.getCalendarName()); if(cal == null) { throw new SchedulerException( "Calendar not found: " + trigger.getCalendarName()); "Based on configured schedule, the given trigger '" + trigger.getKey() + "' will never fire."); notifySchedulerThread(trigger.getNextFireTime().getTime()); notifySchedulerListenersSchduled(trigger);
return null; } else { trig.setJobKey(oldTrigger.getJobKey()); if (newTrigger.getCalendarName() != null) { cal = resources.getJobStore().retrieveCalendar( newTrigger.getCalendarName()); notifySchedulerThread(newTrigger.getNextFireTime().getTime()); notifySchedulerListenersUnscheduled(triggerKey); notifySchedulerListenersSchduled(newTrigger);
@Override public Optional<Long> getNextRunTimeMillis() { Date nextRuntime = this.quartzTrigger.getNextFireTime(); return null != nextRuntime ? Optional.<Long>of(nextRuntime.getTime()) : Optional.<Long>absent(); }
private void ajaxFetchTrigger(final int projectId, final String flowId, final Session session, final HashMap<String, Object> ret) { final ScheduledFlowTrigger res = this.scheduler .getScheduledFlowTriggerJobs().stream().filter( scheduledFlowTrigger -> scheduledFlowTrigger.getFlowId().equals(flowId) && scheduledFlowTrigger.getProjectId () == projectId).findFirst().orElse(null); if (res != null) { final Map<String, Object> jsonObj = new HashMap<>(); jsonObj.put("cronExpression", res.getFlowTrigger().getSchedule().getCronExpression()); jsonObj.put("submitUser", res.getSubmitUser()); jsonObj.put("firstSchedTime", utils.formatDateTime(res.getQuartzTrigger().getStartTime().getTime())); jsonObj.put("nextExecTime", utils.formatDateTime(res.getQuartzTrigger().getNextFireTime().getTime())); Long maxWaitMin = null; if (res.getFlowTrigger().getMaxWaitDuration().isPresent()) { maxWaitMin = res.getFlowTrigger().getMaxWaitDuration().get().toMinutes(); } jsonObj.put("maxWaitMin", maxWaitMin); if (!res.getFlowTrigger().getDependencies().isEmpty()) { jsonObj.put("dependencies", res.getDependencyListJson()); } ret.put("flowTrigger", jsonObj); } }
@SuppressWarnings("unchecked") private void setJobStartTime(JobDetail jobDetail) throws SchedulerException { Scheduler scheduler = factory.getScheduler(); JobKey jobKey = jobDetail.getKey(); List<Trigger> triggers = (List<Trigger>) scheduler.getTriggersOfJob(jobKey); Date triggerTime = triggers.get(0).getPreviousFireTime(); jobStartTime = triggerTime.getTime(); }
private String getStartDate(JobKey jobKey) throws SchedulerException { Trigger trigger = scheduler.getTriggersOfJob(jobKey).get(0); return DateTimeFormat.forPattern("Y-MM-dd HH:mm:ss").print(trigger.getStartTime().getTime()); }
private void process(JobExecutionContext context, Ehcache underlyingCache, ScheduledRefreshConfiguration config, List<Serializable> batch) throws SchedulerException { JobDataMap map = new JobDataMap(context.getJobDetail().getJobDataMap()); map.put(ScheduledRefreshCacheExtension.PROP_KEYS_TO_PROCESS, batch); Scheduler scheduler = context.getScheduler(); JobDetail job = JobBuilder .newJob(RefreshBatchJob.class) .withIdentity("RefreshBatch-" + INSTANCE_ID_GENERATOR.incrementAndGet(), context.getTrigger().getJobKey().getGroup()).usingJobData(map).build(); try { waitForOutstandingJobCount(context, config, scheduler, config.getParallelJobCount()); if (!scheduler.isShutdown()) { Trigger trigger = TriggerBuilder.newTrigger().startNow().forJob(job).build(); scheduler.scheduleJob(job, trigger); } } catch (SchedulerException e) { if (!scheduler.isShutdown()) { throw e; } } }
@Override public void triggerComplete(Trigger trigger, JobExecutionContext context, CompletedExecutionInstruction triggerInstructionCode) { Date complete = Date.from(context.getFireTime().toInstant().plusMillis(context.getJobRunTime())); eventManager.createTriggerEvent (TriggerEvent.TRIGGER_EVENT_TYPE.COMPLETE, context.getJobDetail().getKey(), trigger.getKey(), complete, "Trigger complete", getServerId()); }