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
					
				
					 3 changed files with 14 additions and 17 deletions
				
			
		| 
						 | 
				
			
			@ -121,7 +121,8 @@ class ProcessFeedService < BaseService
 | 
			
		|||
 | 
			
		||||
    def find_or_resolve_status(parent, uri, url)
 | 
			
		||||
      status = find_status(uri)
 | 
			
		||||
      ThreadResolveWorker.perform_async(parent.id, url) if status.nil?
 | 
			
		||||
 | 
			
		||||
      ResolveThread.new.call(parent, url) if status.nil?
 | 
			
		||||
 | 
			
		||||
      status
 | 
			
		||||
    end
 | 
			
		||||
| 
						 | 
				
			
			@ -242,4 +243,15 @@ class ProcessFeedService < BaseService
 | 
			
		|||
      "#{username}@#{domain}"
 | 
			
		||||
    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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,4 +6,4 @@ class RemovalWorker
 | 
			
		|||
  def perform(status_id)
 | 
			
		||||
    RemoveStatusService.new.call(Status.find(status_id))
 | 
			
		||||
  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…
	
	Add table
		
		Reference in a new issue