public static <C, T> DaemonTask<C, T> submitTask(Supplier<DaemonResponse<T>> taskSupplier, String name) { DaemonTask task = getTask(); long timeout = task != null ? task.getTimeout() : TaskRepository.DEFAULT_TIMEOUT; return submitTask(taskSupplier, name, timeout); }
private static String formatLoggedDaemonTask(DaemonTask task, DaemonEvent event) { return "Message from task " + task.getName() + ": " + event.getStage() + " - " + event.getMessage(); }
private void inFailedState() { if (isTimedOut()) { state = State.TIMED_OUT; } else if (isInterrupted()) { state = State.INTERRUPTED; } else { state = State.FAILED; } }
public static void newStage(String name) { if (Thread.interrupted()) { throw new DaemonTaskInterrupted(); } DaemonTask task = getTask(); if (task != null) { log.info("Stage change by " + task + ": " + name); task.newStage(name); } }
public static void message(String message) { if (Thread.interrupted()) { throw new DaemonTaskInterrupted(); } DaemonTask task = getTask(); if (task != null) { log.info("Message by " + task + ": " + message); task.writeMessage(message); } }
default JobExecutor getJobExecutor() { return DaemonTaskHandler.getJobExecutor(); }
private <T extends Account> void deployServiceManually(AccountDeploymentDetails<T> details, ResolvedConfiguration resolvedConfiguration, DistributedService distributedService, boolean safeToUpdate) { DaemonTaskHandler.message("Manually deploying " + distributedService.getServiceName()); List<ConfigSource> configs = distributedService.stageProfiles(details, resolvedConfiguration); distributedService.ensureRunning(details, resolvedConfiguration, configs, safeToUpdate); }
public static <C, T> DaemonTask<C, T> submitTask(Supplier<DaemonResponse<T>> taskSupplier, String name, long timeout) { DaemonTask task = getTask(); DaemonTask<C, T> result; if (task != null) { result = task.spawnChild(taskSupplier, name, timeout); log.info(task + " spawned child " + result); } else { result = TaskRepository.submitTask(taskSupplier, name, timeout); } return result; }
/** * Undoes changes to the staged in-memory halconfig. */ public void undoChanges() { DaemonTaskHandler.setContext(null); }
@Override public void cancelAllJobs() { super.cancelAllJobs(); DaemonTaskHandler.getTask().getRunningJobs().clear(); } }
void timeout() { timedOut = true; interrupt(); }
public void success(DaemonResponse<T> response) { inSucceededState(); this.response = response; }
private static String formatLoggedDaemonTask(DaemonTask task, DaemonEvent event) { return "Message from task " + task.getName() + ": " + event.getStage() + " - " + event.getMessage(); }
default JobExecutor getJobExecutor() { return DaemonTaskHandler.getJobExecutor(); }
/** * Undoes changes to the staged in-memory halconfig. */ public void undoChanges() { DaemonTaskHandler.setContext(null); }
@Override public void cancelJob(String jobId) { super.cancelJob(jobId); DaemonTaskHandler.getTask().getRunningJobs().remove(jobId); }
public void switchToPrimaryConfig() { DaemonTaskHandler.setContext(null); useBackup = false; }
public void switchToPrimaryConfig() { DaemonTaskHandler.setContext(null); useBackup = false; }