Preheat status cache

This commit is contained in:
Eugen Rochko
2017-02-05 17:24:18 +01:00
parent 6fa4e01139
commit 19b9e1e2c3
4 changed files with 16 additions and 4 deletions

View File

@ -0,0 +1,8 @@
# frozen_string_literal: true
class WarmCacheService < BaseService
def call(cacheable)
full_item = cacheable.class.where(id: cacheable.id).with_includes.first
Rails.cache.write(cacheable.cache_key, full_item)
end
end

View File

@ -4,7 +4,10 @@ class DistributionWorker
include Sidekiq::Worker
def perform(status_id)
FanOutOnWriteService.new.call(Status.find(status_id))
status = Status.find(status_id)
FanOutOnWriteService.new.call(status)
WarmCacheService.new.call(status)
rescue ActiveRecord::RecordNotFound
true
end