2016-12-12 12:12:19 -08:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
class ThreadResolveWorker
|
|
|
|
include Sidekiq::Worker
|
|
|
|
|
2017-11-11 07:49:04 -08:00
|
|
|
sidekiq_options queue: 'pull', retry: 3
|
|
|
|
|
|
|
|
sidekiq_retry_in do |count|
|
|
|
|
15 + 10 * (count**4) + rand(10 * (count**4))
|
|
|
|
end
|
2017-01-04 18:28:21 -08:00
|
|
|
|
2016-12-12 12:12:19 -08:00
|
|
|
def perform(child_status_id, parent_url)
|
|
|
|
child_status = Status.find(child_status_id)
|
|
|
|
parent_status = FetchRemoteStatusService.new.call(parent_url)
|
|
|
|
|
|
|
|
return if parent_status.nil?
|
|
|
|
|
|
|
|
child_status.thread = parent_status
|
|
|
|
child_status.save!
|
|
|
|
end
|
|
|
|
end
|