trigger.setResetOnTrigger(resetOnTrigger); trigger.setStatus(status); } catch (final Exception e) {
private Trigger scheduleToTrigger(final Schedule s) { final Condition triggerCondition = createTriggerCondition(s); final Condition expireCondition = createExpireCondition(s); final List<TriggerAction> actions = createActions(s); final Trigger t = new Trigger.TriggerBuilder(s.getSubmitUser(), this.triggerSource, triggerCondition, expireCondition, actions) .setSubmitTime(s.getSubmitTime()) .setLastModifyTime(s.getLastModifyTime()) .setId(s.getScheduleId()) .build(); if (s.isRecurring()) { t.setResetOnTrigger(true); } else { t.setResetOnTrigger(false); } return t; }
private Trigger createNeverExpireTrigger(final String source, final int threshold) { final Map<String, ConditionChecker> triggerCheckers = new HashMap<>(); final Map<String, ConditionChecker> expireCheckers = new HashMap<>(); final ConditionChecker triggerChecker = new ThresholdChecker(ThresholdChecker.type, threshold); final ConditionChecker endTimeChecker = new BasicTimeChecker("EndTimeCheck_1", 111L, DateTimeZone.UTC, 2536871155000L, false, false, null, null); triggerCheckers.put(triggerChecker.getId(), triggerChecker); expireCheckers.put(endTimeChecker.getId(), endTimeChecker); final String triggerExpr = triggerChecker.getId() + ".eval()"; final String expireExpr = endTimeChecker.getId() + ".eval()"; final Condition triggerCond = new Condition(triggerCheckers, triggerExpr); final Condition expireCond = new Condition(expireCheckers, expireExpr); final Trigger fakeTrigger = new Trigger.TriggerBuilder("azkaban", source, triggerCond, expireCond, getTriggerActions()).build(); fakeTrigger.setResetOnTrigger(false); fakeTrigger.setResetOnExpire(true); return fakeTrigger; }
private Trigger createPeriodAndEndCheckerTrigger(final long currMillis) { final Map<String, ConditionChecker> triggerCheckers = new HashMap<>(); final Map<String, ConditionChecker> expireCheckers = new HashMap<>(); // TODO kunkun-tang: 1 second is the minimum unit for {@link org.joda.time.ReadablePeriod}. // In future, we should use some smaller alternative. final ConditionChecker triggerChecker = new BasicTimeChecker("BasicTimeChecker_1", currMillis, DateTimeZone.UTC, true, true, Utils.parsePeriodString("1s"), null); // End time is 3 seconds past now. final ConditionChecker endTimeChecker = new BasicTimeChecker("EndTimeChecker_1", 111L, DateTimeZone.UTC, currMillis + 3000L, false, false, null, null); triggerCheckers.put(triggerChecker.getId(), triggerChecker); expireCheckers.put(endTimeChecker.getId(), endTimeChecker); final String triggerExpr = triggerChecker.getId() + ".eval()"; final String expireExpr = endTimeChecker.getId() + ".eval()"; final Condition triggerCond = new Condition(triggerCheckers, triggerExpr); final Condition expireCond = new Condition(expireCheckers, expireExpr); final Trigger timeTrigger = new Trigger.TriggerBuilder("azkaban", "", triggerCond, expireCond, getTriggerActions()).build(); timeTrigger.setResetOnTrigger(false); timeTrigger.setResetOnExpire(true); return timeTrigger; }
@Test public void neverExpireTriggerTest() throws TriggerManagerException { final Trigger t1 = createNeverExpireTrigger("triggerLoader", 10); this.triggerManager.insertTrigger(t1); t1.setResetOnTrigger(false); final ThresholdChecker triggerChecker = (ThresholdChecker) t1.getTriggerCondition().getCheckers().values() .toArray()[0]; final BasicTimeChecker expireChecker = (BasicTimeChecker) t1.getExpireCondition().getCheckers().values() .toArray()[0]; ThresholdChecker.setVal(15); sleep(300); sleep(300); assertTrue(triggerChecker.isCheckerMet() == true); assertTrue(expireChecker.eval() == false); ThresholdChecker.setVal(25); sleep(300); assertTrue(triggerChecker.isCheckerMet() == true); assertTrue(expireChecker.eval() == false); }
@Test public void timeCheckerAndExpireTriggerTest() throws TriggerManagerException { final long curr = System.currentTimeMillis(); final Trigger t1 = createPeriodAndEndCheckerTrigger(curr); this.triggerManager.insertTrigger(t1); t1.setResetOnTrigger(true); final BasicTimeChecker expireChecker = (BasicTimeChecker) t1.getExpireCondition().getCheckers().values() .toArray()[0]; sleep(1000); assertTrue(expireChecker.eval() == false); assertTrue(t1.getStatus() == TriggerStatus.READY); sleep(1000); sleep(1000); sleep(1000); assertTrue(expireChecker.eval() == true); assertTrue(t1.getStatus() == TriggerStatus.PAUSED); sleep(1000); assertTrue(expireChecker.eval() == true); assertTrue(t1.getStatus() == TriggerStatus.PAUSED); }
trigger.setResetOnTrigger(resetOnTrigger); trigger.setStatus(status); }catch(Exception e) {
private Trigger scheduleToTrigger(Schedule s) { Condition triggerCondition = createTriggerCondition(s); Condition expireCondition = createExpireCondition(s); List<TriggerAction> actions = createActions(s); Trigger t = new Trigger(s.getScheduleId(), s.getLastModifyTime(), s.getSubmitTime(), s.getSubmitUser(), triggerSource, triggerCondition, expireCondition, actions); if(s.isRecurring()) { t.setResetOnTrigger(true); } else { t.setResetOnTrigger(false); } return t; }
trigger.setResetOnTrigger(resetOnTrigger); trigger.setStatus(status); } catch (final Exception e) {
slaTrigger.setResetOnTrigger(false); slaTrigger.setResetOnExpire(false); logger.info("Ready to put in the sla trigger");
private Trigger scheduleToTrigger(final Schedule s) { final Condition triggerCondition = createTriggerCondition(s); final Condition expireCondition = createExpireCondition(s); final List<TriggerAction> actions = createActions(s); final Trigger t = new Trigger.TriggerBuilder(s.getSubmitUser(), this.triggerSource, triggerCondition, expireCondition, actions) .setSubmitTime(s.getSubmitTime()) .setLastModifyTime(s.getLastModifyTime()) .setId(s.getScheduleId()) .build(); if (s.isRecurring()) { t.setResetOnTrigger(true); } else { t.setResetOnTrigger(false); } return t; }
private static Trigger scheduleToTrigger(azkaban.scheduler.Schedule s) { Condition triggerCondition = createTimeTriggerCondition(s); Condition expireCondition = createTimeExpireCondition(s); List<TriggerAction> actions = createActions(s); Trigger t = new Trigger(s.getScheduleId(), s.getLastModifyTime(), s.getSubmitTime(), s.getSubmitUser(), azkaban.scheduler.ScheduleManager.triggerSource, triggerCondition, expireCondition, actions); if(s.isRecurring()) { t.setResetOnTrigger(true); } return t; }