# Copyright (C) 2012-2016 Zammad Foundation, http://zammad-foundation.org/
class BackgroundJobSearchIndex
  def initialize(object, o_id)
    @object = object
    @o_id   = o_id
  end

  def perform
    record = @object.constantize.lookup(id: @o_id)
    return if !exists?(record)

    record.search_index_update_backend
  end

  private

  def exists?(record)
    return true if record

    Rails.logger.info "Can't index #{@object}.lookup(id: #{@o_id}), no such record found"
    false
  end
end

# Copyright (C) 2012-2016 Zammad Foundation, http://zammad-foundation.org/
class BackgroundJobSearchIndex
  def initialize(object, o_id)
    @object = object
    @o_id   = o_id
  end

  def perform
    record = @object.constantize.lookup(id: @o_id)
    return if !exists?(record)

    record.search_index_update_backend
  end

  private

  def exists?(record)
    return true if record

    Rails.logger.info "Can't index #{@object}.lookup(id: #{@o_id}), no such record found"
    false
  end

  def max_attempts
    20
  end

end

Define max attempts for elasticsearch background job (to not endless queue not indexable items).
Define max attempts for elasticsearch background job (to not endless queue not indexable items).
