private Trigger() throws TriggerManagerException { throw new TriggerManagerException("Triggers should always be specified"); }
@Override public void removeSchedule(final Schedule s) throws ScheduleManagerException { try { this.triggerManager.removeTrigger(s.getScheduleId(), s.getSubmitUser()); } catch (final TriggerManagerException e) { throw new ScheduleManagerException(e.getMessage()); } }
@Override public synchronized List<Schedule> loadUpdatedSchedules() throws ScheduleManagerException { final List<Trigger> triggers; try { triggers = this.triggerManager.getTriggerUpdates(this.triggerSource, this.lastUpdateTime); } catch (final TriggerManagerException e) { e.printStackTrace(); throw new ScheduleManagerException(e); } final List<Schedule> schedules = new ArrayList<>(); for (final Trigger t : triggers) { this.lastUpdateTime = Math.max(this.lastUpdateTime, t.getLastModifyTime()); final Schedule s = triggerToSchedule(t); schedules.add(s); logger.info("loaded schedule for " + s.getProjectName() + " (project_ID: " + s.getProjectId() + ")"); } return schedules; }
public void insertTrigger(final Trigger t) throws TriggerManagerException { logger.info("Inserting trigger " + t + " in TriggerManager"); synchronized (this.syncObj) { try { this.triggerLoader.addTrigger(t); } catch (final TriggerLoaderException e) { throw new TriggerManagerException(e); } this.runnerThread.addTrigger(t); triggerIdMap.put(t.getTriggerId(), t); } }
@Override public void removeSchedule(final Schedule s) throws ScheduleManagerException { try { this.triggerManager.removeTrigger(s.getScheduleId(), s.getSubmitUser()); } catch (final TriggerManagerException e) { throw new ScheduleManagerException(e.getMessage()); } }
@Override public synchronized List<Schedule> loadUpdatedSchedules() throws ScheduleManagerException { List<Trigger> triggers; try { triggers = triggerManager.getTriggerUpdates(triggerSource, lastUpdateTime); } catch (TriggerManagerException e) { // TODO Auto-generated catch block e.printStackTrace(); throw new ScheduleManagerException(e); } List<Schedule> schedules = new ArrayList<Schedule>(); for(Trigger t : triggers) { lastUpdateTime = Math.max(lastUpdateTime, t.getLastModifyTime()); Schedule s = triggerToSchedule(t); schedules.add(s); System.out.println("loaded schedule for " + s.getProjectId() + s.getProjectName()); } return schedules; }
public void updateTrigger(final Trigger t) throws TriggerManagerException { logger.info("Updating trigger " + t + " in TriggerManager"); synchronized (this.syncObj) { this.runnerThread.deleteTrigger(triggerIdMap.get(t.getTriggerId())); this.runnerThread.addTrigger(t); triggerIdMap.put(t.getTriggerId(), t); try { this.triggerLoader.updateTrigger(t); } catch (final TriggerLoaderException e) { throw new TriggerManagerException(e); } } }
@Override public void removeSchedule(Schedule s) throws ScheduleManagerException { try { triggerManager.removeTrigger(s.getScheduleId(), s.getSubmitUser()); // triggersLocalCopy.remove(s.getScheduleId()); } catch (TriggerManagerException e) { // TODO Auto-generated catch block throw new ScheduleManagerException(e.getMessage()); } }
@Override public synchronized List<Schedule> loadUpdatedSchedules() throws ScheduleManagerException { final List<Trigger> triggers; try { triggers = this.triggerManager.getTriggerUpdates(this.triggerSource, this.lastUpdateTime); } catch (final TriggerManagerException e) { e.printStackTrace(); throw new ScheduleManagerException(e); } final List<Schedule> schedules = new ArrayList<>(); for (final Trigger t : triggers) { this.lastUpdateTime = Math.max(this.lastUpdateTime, t.getLastModifyTime()); final Schedule s = triggerToSchedule(t); schedules.add(s); logger.info("loaded schedule for " + s.getProjectName() + " (project_ID: " + s.getProjectId() + ")"); } return schedules; }
public void removeTrigger(final Trigger t) throws TriggerManagerException { logger.info("Removing trigger " + t + " from TriggerManager"); synchronized (this.syncObj) { this.runnerThread.deleteTrigger(t); triggerIdMap.remove(t.getTriggerId()); try { t.stopCheckers(); this.triggerLoader.removeTrigger(t); } catch (final TriggerLoaderException e) { throw new TriggerManagerException(e); } } }
@Override public void start() throws TriggerManagerException { try { // expect loader to return valid triggers final List<Trigger> triggers = this.triggerLoader.loadTriggers(); for (final Trigger t : triggers) { this.runnerThread.addTrigger(t); triggerIdMap.put(t.getTriggerId(), t); } } catch (final Exception e) { logger.error(e); throw new TriggerManagerException(e); } this.runnerThread.start(); }
@Inject public TriggerManager(final Props props, final TriggerLoader triggerLoader, final ExecutorManagerAdapter executorManagerAdapter) throws TriggerManagerException { requireNonNull(props); requireNonNull(executorManagerAdapter); this.triggerLoader = requireNonNull(triggerLoader); final long scannerInterval = props.getLong("trigger.scan.interval", DEFAULT_SCANNER_INTERVAL_MS); this.runnerThread = new TriggerScannerThread(scannerInterval); this.checkerTypeLoader = new CheckerTypeLoader(); this.actionTypeLoader = new ActionTypeLoader(); try { this.checkerTypeLoader.init(props); this.actionTypeLoader.init(props); } catch (final Exception e) { throw new TriggerManagerException(e); } Condition.setCheckerLoader(this.checkerTypeLoader); Trigger.setActionTypeLoader(this.actionTypeLoader); logger.info("TriggerManager loaded."); }
private void onTriggerPause(final Trigger t) throws TriggerManagerException { final List<TriggerAction> expireActions = t.getExpireActions(); for (final TriggerAction action : expireActions) { try { logger.info("Doing expire actions for " + action.getDescription() + " for " + t); action.doAction(); } catch (final Exception e) { logger.error("Failed to do expire action " + action.getDescription() + " for " + t, e); } catch (final Throwable th) { logger.error("Failed to do expire action " + action.getDescription() + " for " + t, th); } } logger.info("Pausing Trigger " + t.getDescription()); t.setStatus(TriggerStatus.PAUSED); try { TriggerManager.this.triggerLoader.updateTrigger(t); } catch (final TriggerLoaderException e) { throw new TriggerManagerException(e); } }
TriggerManager.this.triggerLoader.updateTrigger(t); } catch (final TriggerLoaderException e) { throw new TriggerManagerException(e);
@BeforeClass public static void prepare() throws Exception { dbOperator = azkaban.test.Utils.initTestDB(); final CheckerTypeLoader checkerTypeLoader = new CheckerTypeLoader(); final ActionTypeLoader actionTypeLoader = new ActionTypeLoader(); try { checkerTypeLoader.init(null); actionTypeLoader.init(null); } catch (final Exception e) { throw new TriggerManagerException(e); } Condition.setCheckerLoader(checkerTypeLoader); Trigger.setActionTypeLoader(actionTypeLoader); checkerTypeLoader.registerCheckerType(BasicTimeChecker.type, BasicTimeChecker.class); actionTypeLoader.registerActionType(ExecuteFlowAction.type, ExecuteFlowAction.class); }
@SuppressWarnings("unused") private Trigger() throws TriggerManagerException { throw new TriggerManagerException("Triggers should always be specified"); }
private Trigger() throws TriggerManagerException { throw new TriggerManagerException("Triggers should always be specified"); }
public void updateTrigger(int id) throws TriggerManagerException { synchronized (syncObj) { if(! triggerIdMap.containsKey(id)) { throw new TriggerManagerException("The trigger to update " + id + " doesn't exist!"); } Trigger t; try { t = triggerLoader.loadTrigger(id); } catch (TriggerLoaderException e) { throw new TriggerManagerException(e); } updateTrigger(t); } }
public void insertTrigger(final Trigger t) throws TriggerManagerException { logger.info("Inserting trigger " + t + " in TriggerManager"); synchronized (this.syncObj) { try { this.triggerLoader.addTrigger(t); } catch (final TriggerLoaderException e) { throw new TriggerManagerException(e); } this.runnerThread.addTrigger(t); triggerIdMap.put(t.getTriggerId(), t); } }
public void insertTrigger(Trigger t) throws TriggerManagerException { synchronized (syncObj) { try { triggerLoader.addTrigger(t); } catch (TriggerLoaderException e) { throw new TriggerManagerException(e); } runnerThread.addTrigger(t); triggerIdMap.put(t.getTriggerId(), t); } }