/** * Creates a successful response with no additional message. * * @return the response */ public static JobRunnerResponse success() { return success(null); }
@Override public JobRunnerResponse runJob(@Nonnull JobRunnerRequest jobRunnerRequest) { truncateAlerts(); return JobRunnerResponse.success(); } }
@Nullable @Override public JobRunnerResponse runJob(JobRunnerRequest request) { writeFile(); return JobRunnerResponse.success(); }
@Nullable @Override public JobRunnerResponse runJob(final JobRunnerRequest request) { drainQueue(); return JobRunnerResponse.success(); } }
@Nullable @Override public JobRunnerResponse runJob(final JobRunnerRequest request) { final Map<FileType, ReplicationResult> result = performReplication(); if (result == null) { return JobRunnerResponse.aborted("Full replication is already in progress"); } return JobRunnerResponse.success(result.toString()); } }
@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(); }
@Override public JobRunnerResponse runJob(JobRunnerRequest request) { tokenStore.removeExpiredTokensAndNotify(); tokenStore.removeExpiredSessionsAndNotify(); log.debug("Expired oauth sessions removed"); return JobRunnerResponse.success(); }
@Nullable @Override public JobRunnerResponse runJob(JobRunnerRequest request) { final StreamsEntryRequest streamsEntryRequest = createStreamsEntryRequest(request); refappStreamsActivityManager.addEntry(streamsEntryRequest); log.debug("Activity streams id '{}' was fired", streamsEntryRequest.getId()); return JobRunnerResponse.success("Successfully registered activity streams job"); }
@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); } }
@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); } } }
@Nonnull private JobRunnerResponse runJob() { final RunningJob job = new RunningJobImpl(firedAt, jobId, jobConfig); final RunningJob existing = schedulerService.enterJob(jobId, job); if (existing != null) { LOG.debug("Unable to start job {} because it is already running as {}", job, existing); return JobRunnerResponse.aborted("Already running"); } schedulerService.preJob(); final Thread thd = Thread.currentThread(); final ClassLoader originalClassLoader = thd.getContextClassLoader(); try { // SCHEDULER-11: Ensure that the Job runs with its own class loader set as the thread's CCL thd.setContextClassLoader(jobRunner.getClass().getClassLoader()); final JobRunnerResponse response = jobRunner.runJob(job); return (response != null) ? response : JobRunnerResponse.success(); } finally { thd.setContextClassLoader(originalClassLoader); schedulerService.leaveJob(jobId, job); schedulerService.postJob(); } }
@Override public JobRunnerResponse runJob(@Nonnull JobRunnerRequest request) { long epochDay = Instant.now().minus(1, ChronoUnit.DAYS).toEpochMilli() / MILLIS_IN_DAY; Instant since = Instant.ofEpochMilli(epochDay * MILLIS_IN_DAY); Instant until = since.plus(1, ChronoUnit.DAYS); Map<String, String> nodeHashCache = new HashMap<>(); monitoringService.internalStreamAlertCounts(AlertCriteria.builder() .since(since) .until(until) .build(), stat -> { Set<String> nodeUuids = stat.getCountsByNodeName().keySet().stream() .map(nodeName -> nodeHashCache.computeIfAbsent(nodeName, AnalyticsUtils::toUuidFormat)) .collect(Collectors.toSet()); eventPublisher.publish(new DailyAlertCountAnalyticsEvent( epochDay, stat.getIssue(), stat.getPlugin(), nodeUuids, stat.getTotalCount())); return CallbackResult.CONTINUE; }, PageRequest.ofSize(250)); return JobRunnerResponse.success(); } }
@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(); }
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, ""); } }
@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 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); } } }
@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.success("Directory '" + directory.getName() + "' synchronised in " + info.getLastRound().getDurationMs() + " milliseconds.");