2017-01-23 15:29:34 -05:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
class MergeWorker
|
|
|
|
include Sidekiq::Worker
|
2022-04-28 11:47:34 -04:00
|
|
|
include Redisable
|
2017-01-23 15:29:34 -05:00
|
|
|
|
|
|
|
def perform(from_account_id, into_account_id)
|
2023-07-09 21:06:09 -04:00
|
|
|
ApplicationRecord.connected_to(role: :primary) do
|
|
|
|
@from_account = Account.find(from_account_id)
|
|
|
|
@into_account = Account.find(into_account_id)
|
|
|
|
end
|
|
|
|
|
|
|
|
ApplicationRecord.connected_to(role: :read, prevent_writes: true) do
|
|
|
|
FeedManager.instance.merge_into_home(@from_account, @into_account)
|
|
|
|
end
|
2020-09-07 21:41:16 -04:00
|
|
|
rescue ActiveRecord::RecordNotFound
|
|
|
|
true
|
2021-05-03 22:45:08 -04:00
|
|
|
ensure
|
2022-04-28 11:47:34 -04:00
|
|
|
redis.del("account:#{into_account_id}:regeneration")
|
2017-01-23 15:29:34 -05:00
|
|
|
end
|
|
|
|
end
|