Improve ES::Model README suggestion for async indexing with after_save_commit#1022
Open
trappist wants to merge 1 commit intoelastic:mainfrom
Open
Improve ES::Model README suggestion for async indexing with after_save_commit#1022trappist wants to merge 1 commit intoelastic:mainfrom
trappist wants to merge 1 commit intoelastic:mainfrom
Conversation
* after_commit solves testing problems by ensuring create is committed * Use rails 6's after_save_commit to avoid reindexing on destroy
|
❌ Author of the following commits did not sign a Contributor Agreement: Please, read and sign the above mentioned agreement if you want to contribute to this project |
shashankjo
approved these changes
Dec 13, 2023
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I got a lot of test failures using the original suggestion. First because newly created records weren't yet committed when the (test) worker ran, so I switched to
after_commit. Butafter_commitalso fires on destroy, so it would fail trying to reindex destroyed records. Rails 6 introducesafter_save_commitfor this purpose. Prior to Rails 6 it would beafter_commit ..., on: [:create, :update], but if you needed to change the next line toafter_commit ..., on: :destroythe latter callback would clobber the former, and this prevents that.