Maintenance: Perform SearchIndexJob and SearchIndexAssociationsJob actions to reduce job numbers.
This commit is contained in:
parent
85d6e19892
commit
f06dc08502
4 changed files with 7 additions and 7 deletions
|
@ -1,6 +1,7 @@
|
||||||
class SearchIndexAssociationsJob < SearchIndexJob
|
class SearchIndexAssociationsJob < SearchIndexJob
|
||||||
|
|
||||||
def update_search_index(record)
|
def update_search_index(record)
|
||||||
|
super
|
||||||
record.search_index_update_associations_delta
|
record.search_index_update_associations_delta
|
||||||
record.search_index_update_associations_full
|
record.search_index_update_associations_full
|
||||||
end
|
end
|
||||||
|
|
|
@ -24,7 +24,6 @@ update search index, if configured - will be executed automatically
|
||||||
# start background job to transfer data to search index
|
# start background job to transfer data to search index
|
||||||
return true if !SearchIndexBackend.enabled?
|
return true if !SearchIndexBackend.enabled?
|
||||||
|
|
||||||
SearchIndexJob.perform_later(self.class.to_s, id)
|
|
||||||
SearchIndexAssociationsJob.perform_later(self.class.to_s, id)
|
SearchIndexAssociationsJob.perform_later(self.class.to_s, id)
|
||||||
true
|
true
|
||||||
end
|
end
|
||||||
|
|
|
@ -14,13 +14,13 @@ RSpec.shared_examples 'HasSearchIndexBackend' do |indexed_factory:|
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'indexes on create' do
|
it 'indexes on create' do
|
||||||
expect(SearchIndexJob).to have_been_enqueued
|
expect(SearchIndexAssociationsJob).to have_been_enqueued
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'indexes on update' do
|
it 'indexes on update' do
|
||||||
clear_jobs
|
clear_jobs
|
||||||
subject.update(note: 'Updated')
|
subject.update(note: 'Updated')
|
||||||
expect(SearchIndexJob).to have_been_enqueued
|
expect(SearchIndexAssociationsJob).to have_been_enqueued
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'indexes on touch' do
|
it 'indexes on touch' do
|
||||||
|
|
|
@ -610,7 +610,7 @@ RSpec.describe 'Monitoring', type: :request do
|
||||||
expect(json_response['message']).to be_truthy
|
expect(json_response['message']).to be_truthy
|
||||||
expect(json_response['issues']).to be_truthy
|
expect(json_response['issues']).to be_truthy
|
||||||
expect(json_response['healthy']).to eq(false)
|
expect(json_response['healthy']).to eq(false)
|
||||||
expect( json_response['message']).to eq("Failed to run background job #1 'SearchIndexAssociationsJob' 1 time(s) with 1 attempt(s).;Failed to run background job #2 'SearchIndexJob' 1 time(s) with 1 attempt(s).")
|
expect( json_response['message']).to eq("Failed to run background job #1 'SearchIndexAssociationsJob' 1 time(s) with 1 attempt(s).")
|
||||||
|
|
||||||
# add another job
|
# add another job
|
||||||
manual_added = SearchIndexJob.perform_later('Ticket', 1)
|
manual_added = SearchIndexJob.perform_later('Ticket', 1)
|
||||||
|
@ -624,7 +624,7 @@ RSpec.describe 'Monitoring', type: :request do
|
||||||
expect(json_response['message']).to be_truthy
|
expect(json_response['message']).to be_truthy
|
||||||
expect(json_response['issues']).to be_truthy
|
expect(json_response['issues']).to be_truthy
|
||||||
expect(json_response['healthy']).to eq(false)
|
expect(json_response['healthy']).to eq(false)
|
||||||
expect( json_response['message']).to eq("Failed to run background job #1 'SearchIndexAssociationsJob' 1 time(s) with 1 attempt(s).;Failed to run background job #2 'SearchIndexJob' 2 time(s) with 11 attempt(s).")
|
expect( json_response['message']).to eq("Failed to run background job #1 'SearchIndexAssociationsJob' 1 time(s) with 1 attempt(s).;Failed to run background job #2 'SearchIndexJob' 1 time(s) with 10 attempt(s).")
|
||||||
|
|
||||||
# add another job
|
# add another job
|
||||||
dummy_class = Class.new(ApplicationJob) do
|
dummy_class = Class.new(ApplicationJob) do
|
||||||
|
@ -645,7 +645,7 @@ RSpec.describe 'Monitoring', type: :request do
|
||||||
expect(json_response['message']).to be_truthy
|
expect(json_response['message']).to be_truthy
|
||||||
expect(json_response['issues']).to be_truthy
|
expect(json_response['issues']).to be_truthy
|
||||||
expect(json_response['healthy']).to eq(false)
|
expect(json_response['healthy']).to eq(false)
|
||||||
expect(json_response['message']).to eq("Failed to run background job #1 'Object' 1 time(s) with 5 attempt(s).;Failed to run background job #2 'SearchIndexAssociationsJob' 1 time(s) with 1 attempt(s).;Failed to run background job #3 'SearchIndexJob' 2 time(s) with 11 attempt(s).")
|
expect(json_response['message']).to eq("Failed to run background job #1 'Object' 1 time(s) with 5 attempt(s).;Failed to run background job #2 'SearchIndexAssociationsJob' 1 time(s) with 1 attempt(s).;Failed to run background job #3 'SearchIndexJob' 1 time(s) with 10 attempt(s).")
|
||||||
|
|
||||||
# reset settings
|
# reset settings
|
||||||
Setting.set('es_url', prev_es_config)
|
Setting.set('es_url', prev_es_config)
|
||||||
|
@ -664,7 +664,7 @@ RSpec.describe 'Monitoring', type: :request do
|
||||||
expect(json_response['message']).to be_truthy
|
expect(json_response['message']).to be_truthy
|
||||||
expect(json_response['issues']).to be_truthy
|
expect(json_response['issues']).to be_truthy
|
||||||
expect(json_response['healthy']).to eq(false)
|
expect(json_response['healthy']).to eq(false)
|
||||||
expect(json_response['message']).to eq("14 failing background jobs;Failed to run background job #1 'Object' 7 time(s) with 35 attempt(s).;Failed to run background job #2 'SearchIndexAssociationsJob' 1 time(s) with 1 attempt(s).;Failed to run background job #3 'SearchIndexJob' 2 time(s) with 11 attempt(s).")
|
expect(json_response['message']).to eq("13 failing background jobs;Failed to run background job #1 'Object' 8 time(s) with 40 attempt(s).;Failed to run background job #2 'SearchIndexAssociationsJob' 1 time(s) with 1 attempt(s).;Failed to run background job #3 'SearchIndexJob' 1 time(s) with 10 attempt(s).")
|
||||||
|
|
||||||
# cleanup
|
# cleanup
|
||||||
Delayed::Job.delete_all
|
Delayed::Job.delete_all
|
||||||
|
|
Loading…
Reference in a new issue