Interface RExecutorServiceAsync

All Known Subinterfaces:
RExecutorService, RScheduledExecutorService, RScheduledExecutorServiceAsync
All Known Implementing Classes:
RedissonExecutorService

public interface RExecutorServiceAsync
Distributed async implementation of ExecutorService
Author:
Nikita Koksharov
  • Method Details

    • hasTaskAsync

      RFuture<Boolean> hasTaskAsync(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
    • getTaskCountAsync

      RFuture<Integer> getTaskCountAsync()
      Returns amount of tasks awaiting execution or currently in execution.
      Returns:
      amount of tasks
    • getTaskIdsAsync

      RFuture<Set<String>> getTaskIdsAsync()
      Returns list of task ids awaiting execution or currently in execution.
      Returns:
      task ids
    • cancelTaskAsync

      RFuture<Boolean> cancelTaskAsync(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:
    • deleteAsync

      RFuture<Boolean> deleteAsync()
      Deletes executor request queue and state objects
      Returns:
      true if any of objects were deleted
    • submitAsync

      <T> RExecutorFuture<T> submitAsync(Callable<T> task)
      Submits task for execution asynchronously
      Type Parameters:
      T - type of return value
      Parameters:
      task - task to execute
      Returns:
      Future object
    • submitAsync

      <T> RExecutorFuture<T> submitAsync(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
    • submitAsync

      <T> RExecutorFuture<T> submitAsync(Callable<T> task, long timeToLive, TimeUnit timeUnit)
      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
    • submitAsync

      <T> RExecutorFuture<T> submitAsync(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
    • submitAsync

      RExecutorBatchFuture submitAsync(Callable<?>... tasks)
      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
    • submitAsync

      RExecutorFuture<?> submitAsync(Runnable task)
      Submits task for execution asynchronously
      Parameters:
      task - - task to execute
      Returns:
      Future object
    • submitAsync

      RExecutorFuture<?> submitAsync(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
    • submitAsync

      RExecutorFuture<?> submitAsync(Runnable task, long timeToLive, TimeUnit timeUnit)
      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
    • submitAsync

      RExecutorFuture<?> submitAsync(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
    • submitAsync

      RExecutorBatchFuture submitAsync(Runnable... tasks)
      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