20 lines
		
	
	
	
		
			391 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
		
		
			
		
	
	
			20 lines
		
	
	
	
		
			391 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| 
								 | 
							
								# frozen_string_literal: true
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class RedownloadMediaWorker
							 | 
						||
| 
								 | 
							
								  include Sidekiq::Worker
							 | 
						||
| 
								 | 
							
								  include ExponentialBackoff
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  sidekiq_options queue: 'pull', retry: 3
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def perform(id)
							 | 
						||
| 
								 | 
							
								    media_attachment = MediaAttachment.find(id)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    return if media_attachment.remote_url.blank?
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    media_attachment.reset_file!
							 | 
						||
| 
								 | 
							
								    media_attachment.save
							 | 
						||
| 
								 | 
							
								  rescue ActiveRecord::RecordNotFound
							 | 
						||
| 
								 | 
							
								    true
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								end
							 |