Thread resolving no longer needs to be separate from ProcessFeedService,

since that is only ever called in the background
main
Eugen Rochko 2016-12-11 22:23:11 +01:00
parent 6c60757e99
commit f90133d2ad
3 changed files with 14 additions and 17 deletions

View File

@ -121,7 +121,8 @@ class ProcessFeedService < BaseService
def find_or_resolve_status(parent, uri, url) def find_or_resolve_status(parent, uri, url)
status = find_status(uri) status = find_status(uri)
ThreadResolveWorker.perform_async(parent.id, url) if status.nil?
ResolveThread.new.call(parent, url) if status.nil?
status status
end end
@ -242,4 +243,15 @@ class ProcessFeedService < BaseService
"#{username}@#{domain}" "#{username}@#{domain}"
end end
end end
class ResolveThread
def call(child_status, parent_url)
parent_status = FetchRemoteStatusService.new.call(parent_url)
return if parent_status.nil?
child_status.thread = parent_status
child_status.save!
end
end
end end

View File

@ -6,4 +6,4 @@ class RemovalWorker
def perform(status_id) def perform(status_id)
RemoveStatusService.new.call(Status.find(status_id)) RemoveStatusService.new.call(Status.find(status_id))
end end
end end

View File

@ -1,15 +0,0 @@
# frozen_string_literal: true
class ThreadResolveWorker
include Sidekiq::Worker
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