2016-11-16 02:56:29 +11:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2016-11-08 12:08:32 +11:00
|
|
|
class RegenerationWorker
|
|
|
|
include Sidekiq::Worker
|
2023-07-13 01:06:00 +10:00
|
|
|
include DatabaseHelper
|
2016-11-08 12:08:32 +11:00
|
|
|
|
2020-04-01 06:59:03 +11:00
|
|
|
sidekiq_options lock: :until_executed
|
2017-04-04 08:53:20 +10:00
|
|
|
|
2017-04-04 10:00:10 +10:00
|
|
|
def perform(account_id, _ = :home)
|
2023-07-13 01:06:00 +10:00
|
|
|
with_primary do
|
2023-07-10 11:06:09 +10:00
|
|
|
@account = Account.find(account_id)
|
|
|
|
end
|
|
|
|
|
2023-07-13 01:06:00 +10:00
|
|
|
with_read_replica do
|
2023-07-10 11:06:09 +10:00
|
|
|
PrecomputeFeedService.new.call(@account)
|
|
|
|
end
|
2017-05-20 00:55:09 +10:00
|
|
|
rescue ActiveRecord::RecordNotFound
|
|
|
|
true
|
2016-11-08 12:08:32 +11:00
|
|
|
end
|
|
|
|
end
|