trigger = new Trigger.TriggerBuilder(submitUser, source, triggerCond, expireCond, actions) .setId(triggerId) .setLastModifyTime(lastModifyTime) .setSubmitTime(submitTime) .setExpireActions(expireActions) .setInfo(info) .setContext(context) .build();
trigger = new Trigger.TriggerBuilder(submitUser, source, triggerCond, expireCond, actions) .setId(triggerId) .setLastModifyTime(lastModifyTime) .setSubmitTime(submitTime) .setExpireActions(expireActions) .setInfo(info) .setContext(context) .build();
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; }
actions.add(action); final Trigger t = new Trigger.TriggerBuilder("azkaban", "test", triggerCond, expireCond, actions).build();
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; }
private Trigger createSelfRegenTrigger() { final ConditionChecker alwaysOnChecker = new AlwaysOnChecker("alwaysOn", Boolean.TRUE); final String triggerExpr = alwaysOnChecker.getId() + ".eval()"; final Map<String, ConditionChecker> triggerCheckers = new HashMap<>(); triggerCheckers.put(alwaysOnChecker.getId(), alwaysOnChecker); final Condition triggerCond = new Condition(triggerCheckers, triggerExpr); final TriggerAction triggerAct = new CreateTriggerAction("dummyTrigger", createDummyTrigger()); final List<TriggerAction> actions = new ArrayList<>(); actions.add(triggerAct); final ConditionChecker alwaysOffChecker = new AlwaysOnChecker("alwaysOff", Boolean.FALSE); final String expireExpr = alwaysOffChecker.getId() + ".eval()"; final Map<String, ConditionChecker> expireCheckers = new HashMap<>(); expireCheckers.put(alwaysOffChecker.getId(), alwaysOffChecker); final Condition expireCond = new Condition(expireCheckers, expireExpr); final Trigger t = new Trigger.TriggerBuilder("azkaban", "azkabanTest", triggerCond, expireCond, actions).build(); return t; }
private Trigger createDummyTrigger() { final ConditionChecker alwaysOnChecker = new AlwaysOnChecker("alwaysOn", Boolean.TRUE); final String triggerExpr = alwaysOnChecker.getId() + ".eval()"; final Map<String, ConditionChecker> triggerCheckers = new HashMap<>(); triggerCheckers.put(alwaysOnChecker.getId(), alwaysOnChecker); final Condition triggerCond = new Condition(triggerCheckers, triggerExpr); final TriggerAction triggerAct = new DummyTriggerAction("howdy!"); final List<TriggerAction> actions = new ArrayList<>(); actions.add(triggerAct); final ConditionChecker alwaysOffChecker = new AlwaysOnChecker("alwaysOff", Boolean.FALSE); final String expireExpr = alwaysOffChecker.getId() + ".eval()"; final Map<String, ConditionChecker> expireCheckers = new HashMap<>(); expireCheckers.put(alwaysOffChecker.getId(), alwaysOffChecker); final Condition expireCond = new Condition(expireCheckers, expireExpr); final Trigger t = new Trigger.TriggerBuilder("azkaban", "azkabanTest", triggerCond, expireCond, actions).build(); 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 createTrigger(final String projName, final String flowName, final String source) { final DateTime now = DateTime.now(); final ConditionChecker checker1 = new BasicTimeChecker("timeChecker1", now.getMillis(), now.getZone(), true, true, Utils.parsePeriodString("1h"), null); final Map<String, ConditionChecker> checkers1 = new HashMap<>(); checkers1.put(checker1.getId(), checker1); final String expr1 = checker1.getId() + ".eval()"; final Condition triggerCond = new Condition(checkers1, expr1); final Condition expireCond = new Condition(checkers1, expr1); final List<TriggerAction> actions = new ArrayList<>(); final TriggerAction action = new ExecuteFlowAction("executeAction", 1, projName, flowName, "azkaban", new ExecutionOptions(), null); actions.add(action); return new Trigger.TriggerBuilder("azkaban", source, triggerCond, expireCond, actions) .build(); }
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; }