Interface RExecutorService

All Superinterfaces:
Executor, ExecutorService, RExecutorServiceAsync
All Known Subinterfaces:
RScheduledExecutorService
All Known Implementing Classes:
RedissonExecutorService

public interface RExecutorService extends ExecutorService, RExecutorServiceAsync
Distributed implementation of ExecutorService
Author:
Nikita Koksharov
  • Field Details

  • Method Details

    • submit

      <T> RExecutorFuture<T> submit(Callable<T> task)
      Synchronously submits a value-returning task for execution asynchronously and returns a Future representing the pending results of the task. The Future's get method will return the task's result upon successful completion.
      Specified by:
      submit in interface ExecutorService
      Type Parameters:
      T - the type of the task's result
      Parameters:
      task - the task to submit
      Returns:
      a Future representing pending completion of the task
    • submit

      <T> RExecutorFuture<T> submit(String id, Callable<T> task)
      Synchronously submits a value-returning task with specified id for execution asynchronously. Returns a Future representing the pending results of the task.
      Type Parameters:
      T - the type of the task's result
      Parameters:
      id - task id
      task - the task to submit
      Returns:
      a Future representing pending completion of the task
    • submit

      <T> RExecutorFuture<T> submit(Callable<T> task, long timeToLive, TimeUnit timeUnit)
      Synchronously submits a value-returning task with defined timeToLive parameter for execution asynchronously. Returns a Future representing the pending results of the task. The Future's get method will return the task's result upon successful completion.
      Type Parameters:
      T - the type of the task's result
      Parameters:
      task - the task to submit
      timeToLive - time to live interval
      timeUnit - unit of time to live interval
      Returns:
      a Future representing pending completion of the task
    • submit

      <T> RExecutorFuture<T> submit(String id, Callable<T> task, Duration timeToLive)
      Synchronously submits a value-returning task with defined id and timeToLive parameters for execution asynchronously. Returns a Future representing the pending results of the task.
      Type Parameters:
      T - the type of the task's result
      Parameters:
      id - task id
      task - the task to submit
      timeToLive - time to live interval
      Returns:
      a Future representing pending completion of the task
    • submit

      RExecutorBatchFuture submit(Callable<?>... tasks)
      Synchronously submits tasks batch for execution asynchronously. All tasks are stored to executor request queue atomically, if case of any error none of tasks will be added.
      Parameters:
      tasks - - tasks to execute
      Returns:
      Future object
    • submit

      <T> RExecutorFuture<T> submit(Runnable task, T result)
      Synchronously submits a Runnable task for execution asynchronously and returns a RExecutorFuture representing that task. The Future's get method will return the given result upon successful completion.
      Specified by:
      submit in interface ExecutorService
      Type Parameters:
      T - the type of the result
      Parameters:
      task - the task to submit
      result - the result to return
      Returns:
      a Future representing pending completion of the task
    • submit

      RExecutorFuture<?> submit(Runnable task)
      Synchronously submits a Runnable task for execution asynchronously. Returns a RExecutorFuture representing task completion. The Future's get method will return null upon successful completion.
      Specified by:
      submit in interface ExecutorService
      Parameters:
      task - the task to submit
      Returns:
      a Future representing pending completion of the task
    • submit

      RExecutorFuture<?> submit(String id, Runnable task)
      Synchronously submits a Runnable task with id for execution asynchronously. Returns a RExecutorFuture representing task completion.
      Parameters:
      id - task id
      task - the task to submit
      Returns:
      a Future representing pending completion of the task
    • submit

      RExecutorFuture<?> submit(Runnable task, long timeToLive, TimeUnit timeUnit)
      Synchronously submits a task with defined timeToLive parameter for execution asynchronously. Returns a Future representing task completion. The Future's get method will return the task's result upon successful completion.
      Parameters:
      task - the task to submit
      timeToLive - time to live interval
      timeUnit - unit of time to live interval
      Returns:
      a Future representing pending completion of the task
    • submit

      RExecutorFuture<?> submit(String id, Runnable task, Duration timeToLive)
      Synchronously submits a task with defined id and timeToLive parameters for execution asynchronously. Returns a Future representing task completion.
      Parameters:
      id - task id
      task - the task to submit
      timeToLive - time to live interval
      Returns:
      a Future representing pending completion of the task
    • submit

      RExecutorBatchFuture submit(Runnable... tasks)
      Synchronously submits tasks batch for execution asynchronously. All tasks are stored to executor request queue atomically, if case of any error none of tasks will be added.
      Parameters:
      tasks - - tasks to execute
      Returns:
      Future object
    • getName

      String getName()
      Returns executor name
      Returns:
      name of service
    • delete

      boolean delete()
      Deletes executor request queue and state objects
      Returns:
      true if any of objects were deleted
    • registerWorkers

      @Deprecated void registerWorkers(int workers)
      Deprecated.
    • registerWorkers

      @Deprecated void registerWorkers(int workers, ExecutorService executor)
      Deprecated.
    • registerWorkers

      void registerWorkers(WorkerOptions options)
      Register workers
      Parameters:
      options - - worker options
    • getTaskCount

      int getTaskCount()
      Returns amount of tasks awaiting execution or currently in execution.
      Returns:
      amount of tasks
    • countActiveWorkers

      int countActiveWorkers()
      Returns active workers amount available for tasks execution.
      Returns:
      workers amount
    • hasTask

      boolean hasTask(String taskId)
      Returns true if this Executor Service has task by taskId awaiting execution or currently in execution.
      Parameters:
      taskId - id of task
      Returns:
      true if this Executor Service has task
    • getTaskIds

      Set<String> getTaskIds()
      Returns list of task ids awaiting execution or currently in execution.
      Returns:
      task ids
    • cancelTask

      Boolean cancelTask(String taskId)
      Cancel task by id
      Parameters:
      taskId - id of task
      Returns:
      true if task has been canceled successfully or null if task wasn't found
      See Also:
    • execute

      void execute(Runnable... tasks)
      Submits tasks batch for execution synchronously. All tasks are stored to executor request queue atomically, if case of any error none of tasks will be added.
      Parameters:
      tasks - tasks to execute