Class: Lowkiq::Splitters::ByNode
- Inherits:
-
Object
- Object
- Lowkiq::Splitters::ByNode
- Defined in:
- lib/lowkiq/splitters/by_node.rb
Instance Method Summary collapse
- #call(shard_handlers) ⇒ Object
-
#initialize(number_of_nodes, node_number, threads_per_node) ⇒ ByNode
constructor
A new instance of ByNode.
Constructor Details
#initialize(number_of_nodes, node_number, threads_per_node) ⇒ ByNode
Returns a new instance of ByNode.
4 5 6 7 8 |
# File 'lib/lowkiq/splitters/by_node.rb', line 4 def initialize(number_of_nodes, node_number, threads_per_node) @number_of_nodes = number_of_nodes @node_number = node_number @threads_per_node = threads_per_node end |
Instance Method Details
#call(shard_handlers) ⇒ Object
10 11 12 13 14 15 16 |
# File 'lib/lowkiq/splitters/by_node.rb', line 10 def call(shard_handlers) groups_for_nodes = Utils::Array.new(shard_handlers).in_transposed_groups(@number_of_nodes) groups_for_node = groups_for_nodes[@node_number] Utils::Array.new(groups_for_node) .in_transposed_groups(@threads_per_node) .reject(&:empty?) end |