@Nonnull private JobRunnerResponse launchAndBuildResponse() throws JobRunnerNotRegisteredException { try { response = validate(); if (response == null) { response = runJob(); } } catch (RuntimeException ex) { LOG.error("Scheduled job with ID '{}' failed", jobId, ex); response = failed(ex); } catch (LinkageError err) { LOG.error("Scheduled job with ID '{}' failed due to binary incompatibilities", jobId, err); response = failed(err); } return response; }
@Nullable @Override public JobRunnerResponse runJob(@Nonnull final JobRunnerRequest request) { try { applinkStatusPublisher.publishApplinkStatus(); return JobRunnerResponse.success(); } catch (final Exception e) { return JobRunnerResponse.failed(e); } }
@Nullable @Override public JobRunnerResponse runJob(final JobRunnerRequest jobRunnerRequest) { try { final Long removeThreshold = System.currentTimeMillis() - TimeUnit.DAYS.toMillis(90); userHistoryStore.removeHistoryOlderThan(removeThreshold); } catch (Exception ex) { LOG.warn("Exception occurred when running " + JOB_RUNNER_KEY + " job.", ex); return JobRunnerResponse.failed(ex); } return JobRunnerResponse.success(); }
@Nullable @Override public JobRunnerResponse runJob(final JobRunnerRequest jobRunnerRequest) { try { final List<CacheStatisticsAnalyticEvent> cacheStatistics = getCacheStatistics(); sendToAnalytics(cacheStatistics); } catch (final Exception ex) { LOG.warn("Exception occurred when running " + JOB_RUNNER_KEY + " job.", ex); return JobRunnerResponse.failed(ex); } return JobRunnerResponse.success(); }
@Override public JobRunnerResponse runJob(JobRunnerRequest request) { // set the context class loader to the current bundle ClassLoader ctxClassLoader = Thread.currentThread().getContextClassLoader(); Thread.currentThread().setContextClassLoader(getClass().getClassLoader()); try { TaskMonitor<Void> monitor = start(); monitor.get(); return JobRunnerResponse.success(); } catch (InterruptedException e) { return JobRunnerResponse.aborted(e.getMessage()); } catch (ExecutionException e) { return JobRunnerResponse.failed(e.getCause()); } finally { // restore the original classloader Thread.currentThread().setContextClassLoader(ctxClassLoader); } }
@Nullable @Override public JobRunnerResponse runJob(final JobRunnerRequest jobRunnerRequest) { // Get the job class to actually run final Map<String,Serializable> parameters = jobRunnerRequest.getJobConfig().getParameters(); final Long serviceId = (Long) parameters.get(ServiceManager.SERVICE_ID_KEY); if (serviceId == null) { return JobRunnerResponse.failed("Service entry with job ID '" + jobRunnerRequest.getJobId() + "' has no job config parameters"); } return runServiceId(serviceId); }
@SuppressWarnings("unchecked") @Nullable @Override public JobRunnerResponse runJob(final JobRunnerRequest request) { final Map<String, Serializable> params = request.getJobConfig().getParameters(); try { final Class<? extends PluginJob> jobClass = (Class<? extends PluginJob>) classLoader.loadClass((String) params.get(JOB_CLASS_CANONICAL_NAME)); jobClass.newInstance().execute(jobDataMap); return JobRunnerResponse.success(); } catch (Exception e) { log.error(String.format("Unable to execute the job [id:%s]", request.getJobId().toString()), e); return JobRunnerResponse.failed(e); } } }
@Nullable @Override public JobRunnerResponse runJob(final JobRunnerRequest jobRunnerRequest) { final Map<String,Serializable> parameters = jobRunnerRequest.getJobConfig().getParameters(); Long subscriptionId = (Long) parameters.get(SubscriptionManager.SUBSCRIPTION_IDENTIFIER); try { SubscriptionManager dsm = ComponentAccessor.getSubscriptionManager(); FilterSubscription subscription = dsm.getFilterSubscription(subscriptionId); if (subscription == null) { return JobRunnerResponse.failed("No filter subscription for id " + subscriptionId); } dsm.runSubscription(subscription.getId()); return JobRunnerResponse.success(); } catch (GenericEntityException e) { log.error("Filter Subscription failed for id " + subscriptionId, e); return JobRunnerResponse.failed("No filter subscription for id " + subscriptionId); } } }
private static JobRunnerResponse runServiceId(final Long serviceId) { JobRunnerResponse response; final JiraServiceContainer service; try { final ServiceManager serviceManager = ComponentAccessor.getComponent(ServiceManager.class); service = serviceManager.getServiceWithId(serviceId); if (service == null) { response = JobRunnerResponse.aborted("Service ID '" + serviceId + "' no longer exists!"); } else { response = runService(service); } } catch (Exception e) { LOG.error("An error occurred while trying to run service with ID '" + serviceId + "'. " + e.getMessage(), e); response = JobRunnerResponse.failed(e); } return response; }
private static JobRunnerResponse runService(final JiraServiceContainer service) { // make the logs come out with the name of the running service final String serviceName = service.getName(); setLog4JInfo(MOCK_USER_NAME, serviceName); try { if (LOG.isDebugEnabled()) { LOG.debug("Running Service [" + service + ']'); } ComponentAccessor.getJiraAuthenticationContext().clearLoggedInUser(); service.run(); if (LOG.isDebugEnabled()) { LOG.debug("Finished Running Service [" + service + ']'); } return JobRunnerResponse.success(); } catch (final RuntimeException e) { LOG.error("An error occurred while trying to run service '" + serviceName + "'. " + e.getMessage(), e); return JobRunnerResponse.failed(e); } finally { service.setLastRun(); setLog4JInfo(MOCK_USER_NAME, ""); } }
@Override public JobRunnerResponse runJob(@Nonnull JobRunnerRequest request) { if (!CLEANUP_JOB_ID.equals(request.getJobId())) { return JobRunnerResponse.aborted("Unknown job ID: " + request.getJobId()); } try { run(); } catch(Exception e) { return JobRunnerResponse.failed(e); } return JobRunnerResponse.success(); }
@Nullable @Override public JobRunnerResponse runJob(JobRunnerRequest request) { if (!CLEANUP_JOB_ID.equals(request.getJobId())) { return JobRunnerResponse.aborted("Unknown job ID: " + request.getJobId()); } try { run(); } catch(Exception e) { return JobRunnerResponse.failed(e); } return JobRunnerResponse.success(); }
@Nullable @Override public JobRunnerResponse runJob(final JobRunnerRequest request) { I18nHelper i18n = ComponentAccessor.getI18nHelperFactory().getInstance((ApplicationUser) null); try { CacheCompactionResult result = purgeExpiredCacheEntries(); String message = i18n.getText("admin.service.cachecompactor.result", result.getCacheCount(), result.getTotalEntriesCount(), result.getPurgedEntriesCount()); return JobRunnerResponse.success(message); } catch (Exception e) { return JobRunnerResponse.failed(e); } } }
return JobRunnerResponse.failed(allErrors.toString());