diff --git a/src/main/java/dev/dinauer/service/NodeService.java b/src/main/java/dev/dinauer/service/NodeService.java index 4a2876e..6c99f88 100644 --- a/src/main/java/dev/dinauer/service/NodeService.java +++ b/src/main/java/dev/dinauer/service/NodeService.java @@ -19,6 +19,7 @@ import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.Optional; +import java.util.concurrent.TimeUnit; @ApplicationScoped public class NodeService implements ResourceService @@ -82,11 +83,16 @@ public class NodeService implements ResourceService text.add(line); } } - int exitCode = p.waitFor(); - if(exitCode == 0) + boolean hasEndedInTime = p.waitFor(10, TimeUnit.SECONDS); + p.destroy(); + if (hasEndedInTime) { - LOG.info("Found {} nodes", text.size()); - return text; + int exitCode = p.waitFor(); + if(exitCode == 0) + { + LOG.info("Found {} nodes", text.size()); + return text; + } } throw new RuntimeException("Failed to retrieve top nodes."); }