private CronParams getParams(final Date date, final CronJob cronJob) { final String authorization = executor.getAuthorization(); final Principal principal = executor.getPrincipal(); final CronTab cronTab = executor.getCronTab(); final Element element = cronJob.getElement(); final RowTyped row = createRow(date, cronJob); return new CronParams(context, authorization, principal, date, cronTab, cronJob, element, row); }
private void runJob(final CronJob cronJob, final String className) { final CronTab cronTab = executor.getCronTab(); final ExecutorService executorService = executor.getExecutorService(); final CronParams params = getParams(dateSchedule, cronJob); final CronRunnable runnable = getRunnable(className, params); if (runnable != null) { logger.info( String.format("execute(%s/%s)", cronTab.getName(), cronJob.getName())); // i18n log executorService.execute(runnable); } }
private RowTyped createRow(final Date date, final CronJob cronJob) { final RowSet rowSet = executor.getRowSet(); final Row row = new InsertRow(rowSet).getRow(); rowSet.add(row); final RowTyped rowTyped = new RowTyped(rowSet.getMetaData(), row); rowTyped.update("cronTab", executor.getCronTab().getName()); // i18n metadata rowTyped.update("cronJob", cronJob.getName()); // i18n metadata rowTyped.update("command", cronJob.getLine()); // i18n metadata rowTyped.update( "principal", ((invokerPrincipal == null) ? null : invokerPrincipal.getName())); // i18n meta rowTyped.update("date", date); // i18n metadata return rowTyped; }
public final void doWork() throws IOException { final CronTab cronTab = executor.getCronTab(); final Collection<CronJob> cronJobs = cronTab.getJobsReady(dateSchedule); for (final CronJob cronJob : cronJobs) { runJob(cronJob); } }