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