Class: Workarea::KeepProductIndexFresh

Inherits:
Object
  • Object
show all
Includes:
Sidekiq::Worker
Defined in:
app/workers/workarea/keep_product_index_fresh.rb

Instance Method Summary collapse

Instance Method Details

#never_indexedObject



16
17
18
19
20
21
# File 'app/workers/workarea/keep_product_index_fresh.rb', line 16

def never_indexed
  Catalog::Product
    .where(last_indexed_at: nil)
    .limit(Workarea.config.stale_products_size)
    .to_a
end

#perform(*args) ⇒ Object



11
12
13
14
# File 'app/workers/workarea/keep_product_index_fresh.rb', line 11

def perform(*args)
  all = never_indexed + stale
  BulkIndexProducts.perform_by_models(all.take(Workarea.config.stale_products_size))
end

#staleObject



23
24
25
26
27
28
# File 'app/workers/workarea/keep_product_index_fresh.rb', line 23

def stale
  Catalog::Product
    .asc(:last_indexed_at)
    .limit(Workarea.config.stale_products_size)
    .to_a
end