Class: BulkProcessor::BackEnd::Dynosaur

Inherits:
Object
  • Object
show all
Defined in:
lib/bulk_processor/back_end/dynosaur.rb

Overview

Execute jobs via rake tasks that will spawn a new Heroku dyno

Instance Method Summary collapse

Constructor Details

#initialize(processor_class:, payload:, key:) ⇒ Dynosaur

Returns a new instance of Dynosaur.



9
10
11
12
13
14
# File 'lib/bulk_processor/back_end/dynosaur.rb', line 9

def initialize(processor_class:, payload:, key:)
  @processor_class = processor_class.name
  @payload = PayloadSerializer.serialize(payload)
  @key = key
  configure_dynosaur
end

Instance Method Details

#split(num_processes) ⇒ Object



24
25
26
27
28
29
30
# File 'lib/bulk_processor/back_end/dynosaur.rb', line 24

def split(num_processes)
  args = {
    task: 'bulk_processor:split',
    args: [processor_class, payload, key, num_processes.to_s]
  }
  ::Dynosaur::Process::Heroku.new(args).start
end

#startObject



16
17
18
19
20
21
22
# File 'lib/bulk_processor/back_end/dynosaur.rb', line 16

def start
  args = {
    task: 'bulk_processor:start',
    args: [processor_class, payload, key]
  }
  ::Dynosaur::Process::Heroku.new(args).start
end