Class: ActiveSearch::Algolia::Worker

Inherits:
Object
  • Object
show all
Includes:
SuckerPunch::Job
Defined in:
lib/activesearch/algolia/worker.rb

Instance Method Summary collapse

Instance Method Details

#perform(msg) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/activesearch/algolia/worker.rb', line 6

def perform(msg)
  begin
    case msg[:task]
    when :reindex
      ::ActiveSearch::Algolia::Client.new.save(msg[:id], msg[:doc])
    when :deindex
      ::ActiveSearch::Algolia::Client.new.delete(msg[:id])
    end
  rescue Exception => e
    perform(msg.merge!(retries: msg[:retries].to_i + 1)) unless msg[:retries].to_i >= 3
  end
end