Interface TaskExecutor

All Known Implementing Classes:
ThreadPerDriverTaskExecutor, TimeSharingTaskExecutor

public interface TaskExecutor
  • Method Details

    • addTask

      TaskHandle addTask(TaskId taskId, DoubleSupplier utilizationSupplier, int initialSplitConcurrency, io.airlift.units.Duration splitConcurrencyAdjustFrequency, OptionalInt maxDriversPerTask)
    • removeTask

      void removeTask(TaskHandle taskHandle)
    • 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()