diff --git a/lib/searchkick/bulk_indexer.rb b/lib/searchkick/bulk_indexer.rb index e49d893..580c1c9 100644 --- a/lib/searchkick/bulk_indexer.rb +++ b/lib/searchkick/bulk_indexer.rb @@ -138,12 +138,12 @@ module Searchkick end def bulk_reindex_job(scope, batch_id, options) + Searchkick.with_redis { |r| r.sadd(batches_key, batch_id) } Searchkick::BulkReindexJob.perform_later({ class_name: scope.model_name.name, index_name: index.name, batch_id: batch_id }.merge(options)) - Searchkick.with_redis { |r| r.sadd(batches_key, batch_id) } end def with_retries diff --git a/test/reindex_test.rb b/test/reindex_test.rb index 015188b..ae3fe3b 100644 --- a/test/reindex_test.rb +++ b/test/reindex_test.rb @@ -28,7 +28,7 @@ class ReindexTest < Minitest::Test end def test_async - skip if !defined?(ActiveJob) + skip unless defined?(ActiveJob) Searchkick.callbacks(false) do store_names ["Product A"] @@ -48,8 +48,22 @@ class ReindexTest < Minitest::Test assert_search "product", ["Product A"] end + def test_async_wait + skip unless defined?(ActiveJob) + + Searchkick.callbacks(false) do + store_names ["Product A"] + end + + capture_io do + Product.reindex(async: {wait: true}) + end + + assert_search "product", ["Product A"] + end + def test_async_non_integer_pk - skip if !defined?(ActiveJob) + skip unless defined?(ActiveJob) Sku.create(id: SecureRandom.hex, name: "Test") reindex = Sku.reindex(async: true) -- libgit2 0.21.0