private boolean serverIsAcceptingNewTasks() { boolean availableForNewTasks = false; try { CurrentTaskExecutionsResource taskExecutionsResource = taskOperations.currentTaskExecutions(); availableForNewTasks = taskExecutionsResource.getRunningExecutionCount() < taskExecutionsResource.getMaximumTaskExecutions(); if (!availableForNewTasks) { log.warn(String.format("Data Flow server has reached its concurrent task execution limit: (%d)", taskExecutionsResource.getMaximumTaskExecutions())); } } // If cannot connect to Data Flow server, log the exception and return false so the poller will back off. catch( Exception e) { log.error(e.getMessage(), e); } finally { return availableForNewTasks; } }
@CliCommand(value = TASK_EXECUTION_CURRENT, help = "Display count of currently executin tasks and related information") public Table currentExecutions() { CurrentTaskExecutionsResource taskExecutionsResource = taskOperations().currentTaskExecutions(); TableModelBuilder<Object> modelBuilder = new TableModelBuilder<>(); modelBuilder.addRow().addValue("Current Running Tasks").addValue(taskExecutionsResource.getRunningExecutionCount()); modelBuilder.addRow().addValue("Maximum Concurrent Executions").addValue(taskExecutionsResource .getMaximumTaskExecutions()); TableBuilder builder = new TableBuilder(modelBuilder.build()); DataFlowTables.applyStyle(builder); return builder.build(); }
@CliCommand(value = TASK_EXECUTION_CURRENT, help = "Display count of currently executin tasks and related information") public Table currentExecutions() { CurrentTaskExecutionsResource taskExecutionsResource = taskOperations().currentTaskExecutions(); TableModelBuilder<Object> modelBuilder = new TableModelBuilder<>(); modelBuilder.addRow().addValue("Current Running Tasks").addValue(taskExecutionsResource.getRunningExecutionCount()); modelBuilder.addRow().addValue("Maximum Concurrent Executions").addValue(taskExecutionsResource .getMaximumTaskExecutions()); TableBuilder builder = new TableBuilder(modelBuilder.build()); DataFlowTables.applyStyle(builder); return builder.build(); }