Class: Resque::FairShare::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/resque/fair_share/configuration.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize ⇒ Configuration

Returns a new instance of Configuration.



22
23
24
25
26
27
28
29
# File 'lib/resque/fair_share/configuration.rb', line 22

def initialize
  @dequeue_strategy = :sub_queues
  @scan_size = 100
  @max_in_flight = 50
  @partition_key = :account_id
  @partition_index = nil
  @statsd_client = nil
end

Instance Attribute Details

#dequeue_strategy ⇒ Symbol

Returns Dequeue strategy (:sub_queues or :legacy_scan).

Returns:

  • (Symbol) —

    Dequeue strategy (:sub_queues or :legacy_scan).



5
6
7
# File 'lib/resque/fair_share/configuration.rb', line 5

def dequeue_strategy
  @dequeue_strategy
end

#max_in_flight ⇒ Integer

Returns Hard cap on concurrent jobs per partition across all workers.

Returns:

  • (Integer) —

    Hard cap on concurrent jobs per partition across all workers.



11
12
13
# File 'lib/resque/fair_share/configuration.rb', line 11

def max_in_flight
  @max_in_flight
end

#partition_index ⇒ Integer?

Returns Zero-based index into the job args array for positional partition extraction.

Returns:

  • (Integer, nil) —

    Zero-based index into the job args array for positional partition extraction.



17
18
19
# File 'lib/resque/fair_share/configuration.rb', line 17

def partition_index
  @partition_index
end

#partition_key ⇒ Symbol

Returns Job argument key used to identify partitions (e.g. :account_id, :tenant_id).

Returns:

  • (Symbol) —

    Job argument key used to identify partitions (e.g. :account_id, :tenant_id).



14
15
16
# File 'lib/resque/fair_share/configuration.rb', line 14

def partition_key
  @partition_key
end

#scan_size ⇒ Integer

Returns Number of queue items the Lua script examines per dequeue (legacy_scan only).

Returns:

  • (Integer) —

    Number of queue items the Lua script examines per dequeue (legacy_scan only).



8
9
10
# File 'lib/resque/fair_share/configuration.rb', line 8

def scan_size
  @scan_size
end

#statsd_client ⇒ #gauge?

Returns Optional StatsD-compatible client for emitting per-partition depth gauges.

Returns:

  • (#gauge, nil) —

    Optional StatsD-compatible client for emitting per-partition depth gauges.



20
21
22
# File 'lib/resque/fair_share/configuration.rb', line 20

def statsd_client
  @statsd_client
end