package io.fathom.cloud.compute.scheduler;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class SchedulerQueue {
private static final Logger log = LoggerFactory.getLogger(SchedulerQueue.class);
final ExecutorService executorService = Executors.newFixedThreadPool(20);
public void add(final SchedulerOperation operation) {
executorService.execute(new Runnable() {
@Override
public void run() {
try {
log.debug("Starting scheduler operation: {}", operation);
operation.run();
} catch (Throwable t) {
log.warn("Error while running queued operation", t);
}
}
});
}
}