3 def initialize(args = {})
4 @batch_size = args[:batch_size] || 1000
5 @logger = args[:logger]
11 @model_count = @model.count.to_f
13 @model_count = args[:total]
17 def index_records(records, offset)
18 batch_time = measure_time {
19 records.each { |rec| @index.add_document(rec.to_doc, rec.ferret_analyzer) if rec.ferret_enabled?(true) }
21 @work_done = offset.to_f / @model_count * 100.0 if @model_count > 0
22 remaining_time = ( batch_time / @batch_size ) * ( @model_count - offset + @batch_size )
23 @logger.info "#{@reindex ? 're' : 'bulk '}index model #{@model.name} : #{'%.2f' % @work_done}% complete : #{'%.2f' % remaining_time} secs to finish"