Improve error handling on LinkCrawlWorker (#5250)
* Improve error handling on LinkCrawlWorker * Ignore TimeoutError and InvalidURIError too * Record errors to debug log * Enable dead job queue on LinkCrawlWorker Since most of acceptable errors were already ignored, only our side issue should go to dead job queue. * Ignore all http gem errors
This commit is contained in:
		
							parent
							
								
									617bc216b8
								
							
						
					
					
						commit
						4acb1c73dd
					
				
					 2 changed files with 3 additions and 2 deletions
				
			
		|  | @ -27,7 +27,8 @@ class FetchLinkCardService < BaseService | ||||||
|     end |     end | ||||||
| 
 | 
 | ||||||
|     attach_card if @card&.persisted? |     attach_card if @card&.persisted? | ||||||
|   rescue HTTP::ConnectionError, OpenSSL::SSL::SSLError |   rescue HTTP::Error, Addressable::URI::InvalidURIError => e | ||||||
|  |     Rails.logger.debug "Error fetching link #{@url}: #{e}" | ||||||
|     nil |     nil | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -3,7 +3,7 @@ | ||||||
| class LinkCrawlWorker | class LinkCrawlWorker | ||||||
|   include Sidekiq::Worker |   include Sidekiq::Worker | ||||||
| 
 | 
 | ||||||
|   sidekiq_options queue: 'pull', retry: false |   sidekiq_options queue: 'pull', retry: 0 | ||||||
| 
 | 
 | ||||||
|   def perform(status_id) |   def perform(status_id) | ||||||
|     FetchLinkCardService.new.call(Status.find(status_id)) |     FetchLinkCardService.new.call(Status.find(status_id)) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue