Date getContextFireTime(JobExecutionContext context) { return context.getFireTime(); }
/** * @return composite data */ public static CompositeData toCompositeData(JobExecutionContext jec) throws SchedulerException { try { return new CompositeDataSupport(COMPOSITE_TYPE, ITEM_NAMES, new Object[] { jec.getScheduler().getSchedulerName(), jec.getTrigger().getKey().getName(), jec.getTrigger().getKey().getGroup(), jec.getJobDetail().getKey().getName(), jec.getJobDetail().getKey().getGroup(), JobDataMapSupport.toTabularData(jec .getMergedJobDataMap()), jec.getTrigger().getCalendarName(), jec.isRecovering(), jec.getRefireCount(), jec.getFireTime(), jec.getScheduledFireTime(), jec.getPreviousFireTime(), jec.getNextFireTime(), jec.getJobRunTime(), jec.getFireInstanceId() }); } catch (OpenDataException e) { throw new RuntimeException(e); } }
Date getContextFireTime(JobExecutionContext context) { return context.getFireTime(); }
public class Printer implements Job{ // just add 'public'! public Printer(){ System.out.println("created printer"); } @Override public void execute(JobExecutionContext context) throws JobExecutionException { System.out.println("hi" + context.getFireTime()); } }
public static boolean isJobRunning(JobExecutionContext ctx, String jobName, String groupName) throws SchedulerException { List<JobExecutionContext> currentJobs = ctx.getScheduler().getCurrentlyExecutingJobs(); for (JobExecutionContext jobCtx : currentJobs) { String thisJobName = jobCtx.getJobDetail().getKey().getName(); String thisGroupName = jobCtx.getJobDetail().getKey().getGroup(); if (jobName.equalsIgnoreCase(thisJobName) && groupName.equalsIgnoreCase(thisGroupName) && !jobCtx.getFireTime().equals(ctx.getFireTime())) { return true; } } return false; }
private boolean isJobRunning(JobExecutionContext ctx) throws SchedulerException { List<JobExecutionContext> jobs = ctx.getScheduler().getCurrentlyExecutingJobs(); for (JobExecutionContext job : jobs) { // check if the current job is already running (make sure to check that fire times are different so that a different // instance of the same job is checked) if (job.getJobDetail().getJobClass().getName().equals(this.getClass().getName()) && !job.getFireTime().equals(ctx.getFireTime())) { return true; } } return false; }
public String duration(JobExecutionContext context) { return duration(context.getFireTime(), new Date()); }
@Override public void execute(JobExecutionContext context) throws JobExecutionException { JobDetail jobDetail = context.getJobDetail(); JobDataMap jobDataMap = jobDetail.getJobDataMap(); String message = jobDataMap.getString(MESSAGE_JOB_DATA); Date fireTime = context.getFireTime(); LOG.debug("fire time: " + fireTime); LOG.debug("heartbeart message: " + message); Set<Notifier> notifierSet = (Set<Notifier>) jobDataMap .get(NOTIFIER_SET_JOB_DATA); for (Notifier notifier : notifierSet) { LOG.debug("notification of: " + notifier.getClass().getSimpleName()); notifier.notify(message); } } }
public FireResource(TriggerResource parent, JobExecutionContext context) { this.parent = parent; this.id = context.getFireInstanceId(); this.fireTime = context.getFireTime(); this.scheduledFireTime = context.getScheduledFireTime(); }
@Override public synchronized void jobEnds(JobExecution execution, JobExecutionContext context) { execution.setEndDate(new DateTime(context.getFireTime()) .plusMillis((int) context.getJobRunTime()).toDate()); execution.setEnded(true); }
@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()); }
@Override public void triggerFired(Trigger trigger, JobExecutionContext jobExecutionContext) { Date fired = jobExecutionContext.getFireTime(); eventManager.createTriggerEvent (TriggerEvent.TRIGGER_EVENT_TYPE.FIRED, jobExecutionContext.getJobDetail().getKey(), trigger.getKey(), fired, "Trigger fired", getServerId()); }
@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()); }
@Override public void triggerFired(Trigger trigger, JobExecutionContext jobExecutionContext) { Date fired = jobExecutionContext.getFireTime(); eventManager.createTriggerEvent (TriggerEvent.TRIGGER_EVENT_TYPE.FIRED, jobExecutionContext.getJobDetail().getKey(), trigger.getKey(), fired, "Trigger fired", getServerId()); }
public String toString() { return "JobExecutionContext:" + " trigger: '" + getTrigger().getFullName() + " job: " + getJobDetail().getFullName() + " fireTime: '" + getFireTime() + " scheduledFireTime: " + getScheduledFireTime() + " previousFireTime: '" + getPreviousFireTime() + " nextFireTime: " + getNextFireTime() + " isRecovering: " + isRecovering() + " refireCount: " + getRefireCount(); }
public String toString() { return "JobExecutionContext:" + " trigger: '" + getTrigger().getFullName() + " job: " + getJobDetail().getFullName() + " fireTime: '" + getFireTime() + " scheduledFireTime: " + getScheduledFireTime() + " previousFireTime: '" + getPreviousFireTime() + " nextFireTime: " + getNextFireTime() + " isRecovering: " + isRecovering() + " refireCount: " + getRefireCount(); }
@Override public void jobEnds(JobExecution execution, JobExecutionContext context) { String sql = "update " + getTableName() + " set endDate = :endDate, ended = :ended, result = :result where id = :id"; SqlParameterSource params = new MapSqlParameterSource() .addValue("endDate", new DateTime(context.getFireTime()).plusMillis((int) context.getJobRunTime()).toDate()) .addValue("ended", true) .addValue("result", execution.getResult().name()) .addValue("id", execution.getId()); jdbcTemplate.update(sql, params); }
@Override public void run() { try { // update job fire time info JobFireTime jobFireTime = new JobFireTime(); jobFireTime.setCurrent(Dates.format(context.getFireTime())); jobFireTime.setPrev(Dates.format(context.getPreviousFireTime())); jobFireTime.setNext(Dates.format(context.getNextFireTime())); jobSupport.updateJobFireTime(appName, jobClass, jobFireTime); } catch (Exception e){ Logs.error("failed to execute async task when execute job({}/{}), cause: {}.", appName, jobClass, Throwables.getStackTraceAsString(e)); } } }
SchedulingContextImpl(JobExecutionContext context) { taskName = context.getJobDetail().getKey().getName(); storeDurably = context.getJobDetail().isDurable(); requestRecovery = context.getJobDetail().requestsRecovery(); scheduledFireDate = context.getScheduledFireTime(); currentFireDate = context.getFireTime(); previousFireDate = context.getPreviousFireTime(); nextFireDate = context.getNextFireTime(); taskRuntime = context.getJobRunTime(); triggerRefireCount = context.getRefireCount(); triggerEndDate = context.getTrigger().getEndTime(); triggerFinalFireDate = context.getTrigger().getFinalFireTime(); triggerName = context.getTrigger().getKey().getName(); triggerStartDate = context.getTrigger().getStartTime(); triggerPriority = context.getTrigger().getPriority(); }
@Override public void triggerComplete(Trigger trgr, JobExecutionContext jec, CompletedExecutionInstruction cei) { try { addEntry(new FireHistoryEntry( jec.getScheduler().getSchedulerName(), jec.getTrigger() .getKey(), jec.getJobDetail().getKey(), jec.getScheduledFireTime(), jec.getFireTime(), jec .getScheduler().getTriggerState( jec.getTrigger().getKey()), jec.getJobRunTime(), jec.getTrigger().getJobDataMap())); } catch (SchedulerException ex) { ex.printStackTrace(); } }