abort plotting on dashboards
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
package org.lucares.pdb.api;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
public class AbortException extends RuntimeException {
|
||||
|
||||
private static final long serialVersionUID = 7614132985675048490L;
|
||||
@@ -29,4 +31,18 @@ public class AbortException extends RuntimeException {
|
||||
}
|
||||
}
|
||||
|
||||
public static void sleepAbortibly(final long millis) throws AbortException {
|
||||
final long deadline = System.currentTimeMillis() + millis;
|
||||
|
||||
while (System.currentTimeMillis() < deadline) {
|
||||
try {
|
||||
TimeUnit.MILLISECONDS.sleep(Math.min(10, deadline - System.currentTimeMillis()));
|
||||
} catch (final InterruptedException e) {
|
||||
Thread.currentThread().interrupt();
|
||||
throw new AbortException();
|
||||
}
|
||||
AbortException.abortIfInterrupted();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user