Package

kanaloa.reactive.dispatcher

queue

Permalink

package queue

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. queue
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Type Members

  1. trait AutoScaling extends Actor with ActorLogging with MessageScheduler

    Permalink
  2. case class AutoScalingSettings(chanceOfScalingDownWhenFull: Double = 0.1, actionFrequency: FiniteDuration = 5.seconds, downsizeAfterUnderUtilization: FiniteDuration = 72.hours, numOfAdjacentSizesToConsiderDuringOptimization: Int = 12, exploreStepSize: Double = 0.1, downsizeRatio: Double = 0.8, explorationRatio: Double = 0.4, weightOfLatestMetric: Double = 0.5, statusCollectionTimeout: FiniteDuration = 30.seconds) extends Product with Serializable

    Permalink

    chanceOfScalingDownWhenFull

    chance of scaling down when the worker pool is fully utlized

    actionFrequency

    duration between each scaling attempt

    downsizeAfterUnderUtilization

    start to downsize after underutilized for period, should be long enough to include at least one traffic cycle.

    numOfAdjacentSizesToConsiderDuringOptimization

    during optimization, it only looks at this number of adjacent pool sizes (adjacent to current pool size), to figure out the optimal pool size to move to

    exploreStepSize

    during exploration, it takes as big a step as this size. It's a ratio to the current pool size, so if the current size is 10 and the exploreStepSize is 0.2, the exploration will be within a range between 8 and 12

    downsizeRatio

    during downsizing, it will downsize to the largest number of concurrently occupied workers it has seen plus a buffer zone, this downsizeRatio determines the buffer size.

    explorationRatio

    chance of doing a exploration vs an optimization

    statusCollectionTimeout

    maximum time allowed when autoscaler collects status from queue, queueProcessor and all workers

  3. case class BackPressureSettings(maxBufferSize: Int = 1000, thresholdForExpectedWaitTime: FiniteDuration = 1.minute, maxHistoryLength: FiniteDuration = 10.seconds) extends Product with Serializable

    Permalink
  4. case class CircuitBreakerSettings(closeDuration: FiniteDuration = 3.seconds, errorRateThreshold: Double = 1, historyLength: Int = 10) extends Product with Serializable

    Permalink
  5. case class DefaultQueue(dispatchHistorySettings: DispatchHistorySettings, defaultWorkSettings: WorkSettings, metricsCollector: MetricsCollector = NoOpMetricsCollector) extends QueueWithoutBackPressure with Product with Serializable

    Permalink
  6. case class DefaultQueueProcessor(queue: QueueRef, backend: Backend, settings: ProcessingWorkerPoolSettings, metricsCollector: MetricsCollector = NoOpMetricsCollector, resultChecker: ResultChecker) extends QueueProcessor with Product with Serializable

    Permalink

    The default queue processor uses the same ResultChecker for all queues

  7. case class DispatchHistorySettings(maxHistoryLength: FiniteDuration = 10.seconds, historySampleRate: FiniteDuration = 500.milliseconds) extends Product with Serializable

    Permalink
  8. case class ProcessingWorkerPoolSettings(startingPoolSize: Int = 5, maxProcessingTime: Option[FiniteDuration] = None, minPoolSize: Int = 3, maxPoolSize: Int = 400) extends Product with Serializable

    Permalink

    maxProcessingTime

    timeout for the whole queue to be processed

  9. trait Queue extends Actor with ActorLogging with MessageScheduler

    Permalink
  10. class QueueOfIterator extends QueueWithoutBackPressure

    Permalink
  11. trait QueueProcessor extends Actor with ActorLogging with MessageScheduler

    Permalink
  12. type QueueProcessorRef = ActorRef

    Permalink
  13. case class QueueProcessorWithCircuitBreaker(queue: QueueRef, backend: Backend, settings: ProcessingWorkerPoolSettings, circuitBreakerSettings: CircuitBreakerSettings, metricsCollector: MetricsCollector = NoOpMetricsCollector, resultChecker: ResultChecker) extends QueueProcessor with Product with Serializable

    Permalink
  14. type QueueRef = ActorRef

    Permalink
  15. case class QueueWithBackPressure(dispatchHistorySettings: DispatchHistorySettings, backPressureSettings: BackPressureSettings, defaultWorkSettings: WorkSettings = WorkSettings(), metricsCollector: MetricsCollector = NoOpMetricsCollector) extends Queue with Product with Serializable

    Permalink
  16. trait QueueWithoutBackPressure extends Queue

    Permalink
  17. case class WorkSettings(retry: Int = 0, timeout: FiniteDuration = 30.seconds, sendResultTo: Option[ActorRef] = None) extends Product with Serializable

    Permalink
  18. trait Worker extends Actor with ActorLogging with MessageScheduler

    Permalink
  19. type WorkerRef = ActorRef

    Permalink

Value Members

  1. object AutoScaling

    Permalink
  2. object Queue

    Permalink
  3. object QueueOfIterator

    Permalink
  4. object QueueProcessor

    Permalink
  5. object Worker

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped