/** * Wait for supervisor to stop after closing it. */ public void join() { reactor.awaitTerminated(); if (runner != null) { // Stop the runner again in case it was rewritten by the reactor before it terminated. runner.stopAsync(); runner.awaitTerminated(); } }
@Override protected void startUp() throws Exception { hostUpdateReactor.startAsync().awaitRunning(); hostUpdateReactor.signal(); rollingUpdateReactor.startAsync().awaitRunning(); rollingUpdateReactor.signal(); }
private void startAfter(final long delay) { log.debug("starting job (delay={}): {}", delay, job); final int waitBeforeKill = Optional.ofNullable(job.getSecondsToWaitBeforeKill()) .orElse(DEFAULT_SECONDS_TO_WAIT_BEFORE_KILL); runner = runnerFactory.create(delay, containerId, new TaskListener(), waitBeforeKill); runner.startAsync(); runner.resultFuture().addListener(reactor.signalRunnable(), directExecutor()); } }
@Override public void stateChanged(final Supervisor supervisor) { reactor.signal(); } }
@Override protected void startUp() throws Exception { reactor.startAsync().awaitRunning(); }
@Override public void stateChanged(final CuratorFramework client, final ConnectionState newState) { if (newState == ConnectionState.RECONNECTED) { reactor.signal(); } } };
@Override protected void shutDown() throws Exception { reactor.stopAsync().awaitTerminated(); }
public Supervisor(final Builder builder) { this.job = checkNotNull(builder.job, "job"); this.docker = checkNotNull(builder.dockerClient, "docker"); this.restartPolicy = checkNotNull(builder.restartPolicy, "restartPolicy"); this.metrics = checkNotNull(builder.metrics, "metrics"); this.listener = checkNotNull(builder.listener, "listener"); this.currentCommand = new Nop(); this.containerId = builder.existingContainerId; this.runnerFactory = checkNotNull(builder.runnerFactory, "runnerFactory"); this.statusUpdater = checkNotNull(builder.statusUpdater, "statusUpdater"); this.monitor = checkNotNull(builder.monitor, "monitor"); this.reactor = new DefaultReactor("supervisor-" + job.getId(), new Update(), SECONDS.toMillis(30)); this.reactor.startAsync(); statusUpdater.setContainerId(containerId); this.sleeper = builder.sleeper; }
@Override protected void startUp() throws Exception { log.debug("starting cache"); reactor.startAsync().awaitRunning(); reactor.signal(); }
@Override public void tasksChanged(final AgentModel model) { reactor.signal(); } }
@Override protected void shutDown() throws Exception { reactor.stopAsync().awaitTerminated(); }
@Override protected void startUp() throws Exception { reactor.startAsync().awaitRunning(); }
/** * Wait for supervisor to stop after closing it. */ public void join() { reactor.awaitTerminated(); if (runner != null) { // Stop the runner again in case it was rewritten by the reactor before it terminated. runner.stopAsync(); runner.awaitTerminated(); } }
private void startAfter(final long delay) { log.debug("starting job (delay={}): {}", delay, job); runner = runnerFactory.create(delay, containerId, new TaskListener()); runner.startAsync(); runner.resultFuture().addListener(reactor.signalRunnable(), sameThreadExecutor()); } }
@Override protected void startUp() throws Exception { client("startUp").getConnectionStateListenable().addListener(connectionStateListener); reactor.startAsync().awaitRunning(); reactor.signal(); }
@Override public void stateChanged(final CuratorFramework client, final ConnectionState newState) { switch (newState) { case CONNECTED: break; case SUSPENDED: break; case RECONNECTED: initialized = false; reactor.signal(); break; case LOST: case READ_ONLY: default: break; } } };
@Override protected void shutDown() throws Exception { reactor.stopAsync().awaitTerminated(); }
public Supervisor(final Builder builder) { this.job = checkNotNull(builder.job, "job"); this.docker = checkNotNull(builder.dockerClient, "docker"); this.restartPolicy = checkNotNull(builder.restartPolicy, "restartPolicy"); this.metrics = checkNotNull(builder.metrics, "metrics"); this.listener = checkNotNull(builder.listener, "listener"); this.currentCommand = new Nop(); this.containerId = builder.existingContainerId; this.runnerFactory = checkNotNull(builder.runnerFactory, "runnerFactory"); this.statusUpdater = checkNotNull(builder.statusUpdater, "statusUpdater"); this.monitor = checkNotNull(builder.monitor, "monitor"); this.reactor = new DefaultReactor("supervisor-" + job.getId(), new Update(), SECONDS.toMillis(30)); this.reactor.startAsync(); statusUpdater.setContainerId(containerId); this.sleeper = builder.sleeper; }
@Override protected void startUp() throws Exception { zooKeeperRegistrar.startUp(); client.getConnectionStateListenable().addListener(listener); reactor.startAsync().awaitRunning(); reactor.signal(); }