Package io.trino.execution.executor
Interface TaskExecutor
- All Known Implementing Classes:
ThreadPerDriverTaskExecutor,TimeSharingTaskExecutor
public interface TaskExecutor
-
Method Summary
Modifier and TypeMethodDescriptionaddTask(TaskId taskId, DoubleSupplier utilizationSupplier, int initialSplitConcurrency, io.airlift.units.Duration splitConcurrencyAdjustFrequency, OptionalInt maxDriversPerTask) enqueueSplits(TaskHandle taskHandle, boolean intermediate, List<? extends SplitRunner> taskSplits) getStuckSplitTaskIds(io.airlift.units.Duration processingDurationThreshold, Predicate<RunningSplitInfo> filter) voidremoveTask(TaskHandle taskHandle) voidstart()voidstop()
-
Method Details
-
addTask
TaskHandle addTask(TaskId taskId, DoubleSupplier utilizationSupplier, int initialSplitConcurrency, io.airlift.units.Duration splitConcurrencyAdjustFrequency, OptionalInt maxDriversPerTask) -
removeTask
-
enqueueSplits
List<com.google.common.util.concurrent.ListenableFuture<Void>> enqueueSplits(TaskHandle taskHandle, boolean intermediate, List<? extends SplitRunner> taskSplits) -
getStuckSplitTaskIds
Set<TaskId> getStuckSplitTaskIds(io.airlift.units.Duration processingDurationThreshold, Predicate<RunningSplitInfo> filter) -
start
void start() -
stop
void stop()
-