Class: MySQL::Search::Jobs::ScheduledUpdaterJob
- Inherits:
-
ActiveJob::Base
- Object
- ActiveJob::Base
- MySQL::Search::Jobs::ScheduledUpdaterJob
- Defined in:
- lib/mysql/search/jobs/scheduled_updater_job.rb
Overview
Periodically updates search indices
Constant Summary collapse
- PERIODS =
{ daily: ->(searchable) { searchable.where(updated_at: 1.day.ago..) }, weekly: ->(searchable) { searchable.where(updated_at: 1.week.ago..) }, monthly: ->(searchable) { searchable.where(updated_at: 1.month.ago..) }, all: ->(searchable) { searchable.all } }.with_indifferent_access
Instance Method Summary collapse
Instance Method Details
#perform(period) ⇒ Object
17 18 19 20 21 22 23 24 25 |
# File 'lib/mysql/search/jobs/scheduled_updater_job.rb', line 17 def perform(period) searchable_classes.each do |searchable_class| seachables(searchable_class, period).find_in_batches do |searchables| searchable_class.transaction do searchables.each { |searchable| update(searchable_class, searchable) } end end end end |