Class BucketedExecutorSettings<T extends Serializable>

java.lang.Object
com.atlassian.bitbucket.concurrent.BucketedExecutorSettings<T>
Type Parameters:
T - type task type

public class BucketedExecutorSettings<T extends Serializable> extends Object
Configuration object used for constructing BucketedExecutor instances.
  • Method Details

    • getBatchSize

      public int getBatchSize()
      Returns:
      the number of items from a bucket that should be processed in a single BucketProcessor run. The number of items that are passed to a BucketProcessor is guaranteed to be <= the configured batch size.
    • getBucketIdExtractor

      @Nonnull public Function<T,String> getBucketIdExtractor()
      Returns:
      the function used to group items in buckets
    • getMaxAttempts

      public int getMaxAttempts()
      Returns:
      the maximum number of times processing of a bucket should be attempted
    • getMaxConcurrency

      public int getMaxConcurrency()
      Returns:
      the maximum number of different buckets that can be concurrently processed
    • getMaxConcurrencyPolicy

      @Nonnull public ConcurrencyPolicy getMaxConcurrencyPolicy()
      Returns:
      the concurrency policy. If the concurrency policy is ConcurrencyPolicy.PER_CLUSTER, the maximum concurrency is translated into a per-node maximum by dividing the maximum by the number of nodes in the cluster (rounded up).
    • getProcessor

      @Nonnull public BucketProcessor<T> getProcessor()
      Returns:
      the processor responsible for processing buckets of tasks