diff options
Diffstat (limited to 'src/main/java/org/openslx/taskmanager/tasks/RemoteReboot.java')
-rw-r--r-- | src/main/java/org/openslx/taskmanager/tasks/RemoteReboot.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/main/java/org/openslx/taskmanager/tasks/RemoteReboot.java b/src/main/java/org/openslx/taskmanager/tasks/RemoteReboot.java index 2776732..c10c7e4 100644 --- a/src/main/java/org/openslx/taskmanager/tasks/RemoteReboot.java +++ b/src/main/java/org/openslx/taskmanager/tasks/RemoteReboot.java @@ -14,6 +14,7 @@ import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import org.openslx.taskmanager.api.AbstractTask; +import org.openslx.util.PrioThreadFactory; import com.google.gson.annotations.Expose; import com.jcraft.jsch.ChannelExec; @@ -106,7 +107,8 @@ public class RemoteReboot extends AbstractTask return true; final List<Client> rebootingClients = new ArrayList<>(); // try to connect to every client and start the reboot/shutdown process - ExecutorService tp = Executors.newFixedThreadPool( clients.length > 4 ? 4 : clients.length ); + ExecutorService tp = Executors.newFixedThreadPool( clients.length > 4 ? 4 : clients.length, + new PrioThreadFactory( "RemRebt" ) ); for ( final Client client : clients ) { if ( client == null || client.clientip == null || client.machineuuid == null ) { status.addError( "null Client or missing ip/uuid in list, ignoring." ); @@ -172,7 +174,7 @@ public class RemoteReboot extends AbstractTask tp.shutdown(); try { - tp.awaitTermination( clients.length * 5, TimeUnit.SECONDS ); + tp.awaitTermination( clients.length * 5 + 10, TimeUnit.SECONDS ); } catch ( InterruptedException e ) { Thread.currentThread().interrupt(); return false; |