From 17326e55d5dbbd8a64e51a54e781066b0af60426 Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Sun, 27 Feb 2022 10:26:11 -0800 Subject: [PATCH] Prefer mode: :async in docs --- README.md | 6 +++--- test/reindex_test.rb | 19 ++++++++++++------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 57320b7..d886156 100644 --- a/README.md +++ b/README.md @@ -1453,7 +1453,7 @@ end For large data sets, you can use background jobs to parallelize reindexing. ```ruby -Product.reindex(async: true) +Product.reindex(mode: :async) # {index_name: "products_production_20170111210018065"} ``` @@ -1478,7 +1478,7 @@ Searchkick.reindex_status(index_name) You can also have Searchkick wait for reindexing to complete ```ruby -Product.reindex(async: {wait: true}) +Product.reindex(mode: :async, wait: true) ``` You can use [ActiveJob::TrafficControl](https://github.com/nickelser/activejob-traffic_control) to control concurrency. Install the gem: @@ -1504,7 +1504,7 @@ This will allow only 3 jobs to run at once. You can specify a longer refresh interval while reindexing to increase performance. ```ruby -Product.reindex(async: true, refresh_interval: "30s") +Product.reindex(mode: :async, refresh_interval: "30s") ``` **Note:** This only makes a noticable difference with parallel reindexing. diff --git a/test/reindex_test.rb b/test/reindex_test.rb index 3816a4e..f8dedc4 100644 --- a/test/reindex_test.rb +++ b/test/reindex_test.rb @@ -161,7 +161,7 @@ class ReindexTest < Minitest::Test store_names ["Product A"], reindex: false reindex = nil perform_enqueued_jobs do - reindex = Product.reindex(async: true) + reindex = Product.reindex(mode: :async) assert_search "product", [], conversions: false end @@ -180,7 +180,7 @@ class ReindexTest < Minitest::Test reindex = nil perform_enqueued_jobs do - reindex = Product.reindex(async: true) + reindex = Product.reindex(mode: :async) end index = Searchkick::Index.new(reindex[:index_name]) @@ -194,7 +194,7 @@ class ReindexTest < Minitest::Test store_names ["Product A"], reindex: false capture_io do - Product.reindex(async: {wait: true}) + Product.reindex(mode: :async, wait: true) end assert_search "product", ["Product A"] @@ -205,7 +205,7 @@ class ReindexTest < Minitest::Test reindex = nil perform_enqueued_jobs do - reindex = Sku.reindex(async: true) + reindex = Sku.reindex(mode: :async) assert_search "sku", [], conversions: false end @@ -217,7 +217,7 @@ class ReindexTest < Minitest::Test end def test_full_refresh_interval - reindex = Product.reindex(refresh_interval: "30s", async: true, import: false) + reindex = Product.reindex(refresh_interval: "30s", mode: :async, import: false) index = Searchkick::Index.new(reindex[:index_name]) assert_nil Product.search_index.refresh_interval assert_equal "30s", index.refresh_interval @@ -244,10 +244,15 @@ class ReindexTest < Minitest::Test def test_full_partial_async store_names ["Product A"] + Product.reindex(:search_name, mode: :async) + assert_search "product", ["Product A"] + end + + def test_wait_not_async error = assert_raises(ArgumentError) do - Product.reindex(:search_name, async: true) + Product.reindex(wait: false) end - assert_match "unsupported keywords: :async", error.message + assert_equal "wait only available in :async mode", error.message end def test_callbacks_false -- libgit2 0.21.0