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