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
d8b2f89d33
commit
5c8ca024ef
|
@ -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))
|
||||||
|
|
Reference in a new issue