Sha256: aefd1c63b712e62d16e329b0d001761a22262294b77929ba9083a4aac8788c78
Contents?: true
Size: 620 Bytes
Versions: 34
Compression:
Stored size: 620 Bytes
Contents
module Workarea class IndexProduct include Sidekiq::Worker include Sidekiq::CallbacksWorker sidekiq_options( enqueue_on: { Catalog::Product => [:save, :destroy] }, lock: :until_executing ) class << self def perform(product) Search::ProductEntries.new(product).each(&:save) product.set(last_indexed_at: Time.current) end end def perform(id) self.class.perform(Catalog::Product.find(id)) rescue Mongoid::Errors::DocumentNotFound Search::Storefront::Product.new( Catalog::Product.new(id: id) ).destroy end end end
Version data entries
34 entries across 34 versions & 1 rubygems