/** * Call this to validate the job, run it, and update its status. */ public void launch() { LOG.debug("launch: {}: {}", schedulerRunMode, jobId); try { final JobRunnerResponse response = launchAndBuildResponse(); schedulerService.addRunDetails(jobId, firedAt, response.getRunOutcome(), response.getMessage()); } catch (JobRunnerNotRegisteredException ex) { LOG.debug("Scheduled job with ID '{}' is unavailable because its job runner is not registered: {}", jobId, ex.getJobRunnerKey()); schedulerService.addRunDetails(jobId, firedAt, UNAVAILABLE, "Job runner key '" + ex.getJobRunnerKey() + "' is not registered"); } deleteIfRunOnce(); }