Thread resolving no longer needs to be separate from ProcessFeedService,
since that is only ever called in the background
This commit is contained in:
parent
6c60757e99
commit
f90133d2ad
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
|
Loading…
Reference in a new issue