public class DataCalcJob extends AbstractStatefulJob
StatefulJob (as opposed to Job) because we do not need nor want
this job triggered concurrently. That is, we don't want multiple data calc jobs performing the data calc at the
same time.
The work done in this job used to be performed as part of DataPurgeJob but now, especially since the metric
storage and aggregation work is performed against the cassandra storage cluster, and not the RDB, it's been split
away to be executed independently. Moreover, there is really no reason to wait for all of the DB maintenance and
unrelated data purge before performing out metric calculations. Also, see [BZ 1125439].| Constructor and Description |
|---|
DataCalcJob() |
| Modifier and Type | Method and Description |
|---|---|
static void |
calcNow()
Schedules a calc job to trigger right now.
|
void |
calculateOOBs(Iterable<AggregateNumericMetric> oneHourAggregates)
Calculate the OOB values for the last hour.
|
void |
executeJobCode(org.quartz.JobExecutionContext context)
Subclasses should implement this method to perform the actual job.
|
executepublic static void calcNow()
throws Exception
DataCalcJob is an implementation of StatefulJob).Exception - if failed to schedule the data calc for immediate executionpublic void executeJobCode(org.quartz.JobExecutionContext context)
throws org.quartz.JobExecutionException
AbstractStatefulJobexecuteJobCode in class AbstractStatefulJoborg.quartz.JobExecutionExceptionpublic void calculateOOBs(Iterable<AggregateNumericMetric> oneHourAggregates)
Copyright © 2008-2014 Red Hat, Inc.. All Rights Reserved.