Class: BulkProcessor::SplitCSV

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

Instance Method Summary collapse

Constructor Details

#initialize(processor_class, payload, key, num_chunks) ⇒ SplitCSV

Returns a new instance of SplitCSV.



3
4
5
6
7
8
# File 'lib/bulk_processor/split_csv.rb', line 3

def initialize(processor_class, payload, key, num_chunks)
  @processor_class = processor_class
  @payload = payload
  @key = key
  @num_chunks = num_chunks
end

Instance Method Details

#performObject



10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/bulk_processor/split_csv.rb', line 10

def perform
  splitter = FileSplitter.new(key: key, row_chunker: row_chunker)
  keys = splitter.split!
  keys.each do |key|
    BackEnd.start(processor_class: processor_class, payload: payload, key: key)
  end
rescue Exception => error
  handle_error(error)
  raise
ensure
  BulkProcessor.config.file_class.new(key).delete
end