use of com.thinkbiganalytics.scheduler.model.DefaultTriggerIdentifier in project kylo by Teradata.
the class NifiStatsJmsReceiver method scheduleStatsCompaction.
/**
* Schedule the compaction job in Quartz if the properties have this enabled with a Cron Expression
*/
private void scheduleStatsCompaction() {
if (compactStatsEnabled && StringUtils.isNotBlank(compactStatsCronSchedule)) {
QuartzScheduler scheduler = (QuartzScheduler) jobScheduler;
JobIdentifier jobIdentifier = new DefaultJobIdentifier("Compact NiFi Processor Stats", "KYLO");
TriggerIdentifier triggerIdentifier = new DefaultTriggerIdentifier(jobIdentifier.getName(), jobIdentifier.getGroup());
try {
scheduler.scheduleJob(jobIdentifier, triggerIdentifier, NiFiStatsCompactionQuartzJobBean.class, compactStatsCronSchedule, null);
} catch (ObjectAlreadyExistsException e) {
log.info("Unable to schedule the job to compact the NiFi processor stats. It already exists. Most likely another Kylo node has already schceduled this job. ");
} catch (SchedulerException e) {
throw new RuntimeException("Error scheduling job: Compact NiFi Processor Stats", e);
}
}
}
use of com.thinkbiganalytics.scheduler.model.DefaultTriggerIdentifier in project kylo by Teradata.
the class QuartzSchedulerTest method updateTriggerTest.
@Test
public void updateTriggerTest() throws Exception {
toTest.updateTrigger(new DefaultTriggerIdentifier("trigger-key-name", "trigger-key-name"), "0 0 12 * * ?");
verify(scheduler).rescheduleJob(eq(new TriggerKey("trigger-key-name", "trigger-key-name")), (Trigger) any());
doThrow(new SchedulerException()).when(scheduler).rescheduleJob((TriggerKey) any(), (Trigger) any());
try {
toTest.updateTrigger(new DefaultTriggerIdentifier("trigger-key-name", "trigger-key-name"), "0 0 12 * * ?");
} catch (final JobSchedulerException e) {
return;
}
fail();
}
use of com.thinkbiganalytics.scheduler.model.DefaultTriggerIdentifier in project kylo by Teradata.
the class QuartzSchedulerTest method existsTests.
@Test
public void existsTests() throws Exception {
Set<JobKey> set = new HashSet<>();
set.add(new JobKey("name", "group"));
Mockito.when(scheduler.getJobKeys((GroupMatcher) anyObject())).thenReturn(set);
toTest.jobExists(jobIdentifier);
TriggerIdentifier triggerIdentifer = new DefaultTriggerIdentifier("trigger-key-name", "trigger-key-name");
toTest.triggerExists(triggerIdentifer);
toTest.resumeAll();
toTest.getMetaData();
}
use of com.thinkbiganalytics.scheduler.model.DefaultTriggerIdentifier in project kylo by Teradata.
the class SchedulerObjectSerializatoinTest method testTriggerInfoSerialization.
@Test
public void testTriggerInfoSerialization() {
try {
TriggerInfo info = new DefaultTriggerInfo(new DefaultJobIdentifier(), new DefaultTriggerIdentifier());
ObjectMapper objectMapper = new ObjectMapper();
String json = null;
json = objectMapper.writeValueAsString(info);
System.out.println(json);
TriggerInfo info2 = objectMapper.readValue(json, TriggerInfo.class);
System.out.println(info2);
} catch (JsonProcessingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
Aggregations