Search in sources :

Example 1 with ExecutorServiceAdapter

use of com.facebook.airlift.concurrent.ExecutorServiceAdapter in project presto by prestodb.

the class TimeoutBackupStore method timeLimited.

private static <T> T timeLimited(T target, Class<T> clazz, Duration timeout, ExecutorService executor, int maxThreads) {
    executor = new ExecutorServiceAdapter(new BoundedExecutor(executor, maxThreads));
    TimeLimiter limiter = SimpleTimeLimiter.create(executor);
    return limiter.newProxy(target, clazz, timeout.toMillis(), MILLISECONDS);
}
Also used : SimpleTimeLimiter(com.google.common.util.concurrent.SimpleTimeLimiter) TimeLimiter(com.google.common.util.concurrent.TimeLimiter) ExecutorServiceAdapter(com.facebook.airlift.concurrent.ExecutorServiceAdapter) BoundedExecutor(com.facebook.airlift.concurrent.BoundedExecutor)

Aggregations

BoundedExecutor (com.facebook.airlift.concurrent.BoundedExecutor)1 ExecutorServiceAdapter (com.facebook.airlift.concurrent.ExecutorServiceAdapter)1 SimpleTimeLimiter (com.google.common.util.concurrent.SimpleTimeLimiter)1 TimeLimiter (com.google.common.util.concurrent.TimeLimiter)1