lib/searchkick.rb in searchkick-2.0.2 vs lib/searchkick.rb in searchkick-2.0.3

- old
+ new

@@ -17,22 +17,25 @@ begin require "active_job" rescue LoadError # do nothing end -require "searchkick/reindex_v2_job" if defined?(ActiveJob) +if defined?(ActiveJob) + require "searchkick/bulk_reindex_job" + require "searchkick/reindex_v2_job" +end module Searchkick class Error < StandardError; end class MissingIndexError < Error; end class UnsupportedVersionError < Error; end class InvalidQueryError < Elasticsearch::Transport::Transport::Errors::BadRequest; end class DangerousOperation < Error; end class ImportError < Error; end class << self - attr_accessor :search_method_name, :wordnet_path, :timeout, :models, :client_options + attr_accessor :search_method_name, :wordnet_path, :timeout, :models, :client_options, :redis attr_writer :client, :env, :search_timeout attr_reader :aws_credentials end self.search_method_name = :search self.wordnet_path = "/var/lib/wn_s.pl" @@ -125,9 +128,19 @@ def self.aws_credentials=(creds) require "faraday_middleware/aws_signers_v4" @aws_credentials = creds @client = nil # reset client + end + + def self.reindex_status(index_name) + if redis + batches_left = Searchkick::Index.new(index_name).batches_left + { + completed: batches_left == 0, + batches_left: batches_left + } + end end # private def self.indexer Thread.current[:searchkick_indexer] ||= Searchkick::Indexer.new