Skip to content

Commit 071fa96

Browse files
rndev15estolfo
authored andcommitted
Added condition for :update after commit & rescue if record NotFound (#780)
* Handle the case on trying to delete non existing article * Update/delete document depending on #published?
1 parent b8d73bc commit 071fa96

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

elasticsearch-model/README.md

+10-2
Original file line numberDiff line numberDiff line change
@@ -494,7 +494,11 @@ class Article < ActiveRecord::Base
494494
end
495495

496496
after_commit on: [:update] do
497-
__elasticsearch__.update_document if self.published?
497+
if self.published?
498+
__elasticsearch__.update_document
499+
else
500+
__elasticsearch__.delete_document
501+
end
498502
end
499503

500504
after_commit on: [:destroy] do
@@ -536,7 +540,11 @@ class Indexer
536540
record = Article.find(record_id)
537541
Client.index index: 'articles', type: 'article', id: record.id, body: record.__elasticsearch__.as_indexed_json
538542
when /delete/
539-
Client.delete index: 'articles', type: 'article', id: record_id
543+
begin
544+
Client.delete index: 'articles', type: 'article', id: record_id
545+
rescue Elasticsearch::Transport::Transport::Errors::NotFound
546+
logger.debug "Article not found, ID: #{record_id}"
547+
end
540548
else raise ArgumentError, "Unknown operation '#{operation}'"
541549
end
542550
end

0 commit comments

Comments
 (0)