From fb027c514b26c530709acbba796415ddfc783418 Mon Sep 17 00:00:00 2001 From: Denny Bresch Date: Fri, 9 Aug 2019 11:08:43 +0200 Subject: [PATCH] Maintenance: Improve handling of Zendesk API hickups/temporary errors. --- .../unit/import/zendesk/sub_sequence/base.rb | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/sequencer/unit/import/zendesk/sub_sequence/base.rb b/lib/sequencer/unit/import/zendesk/sub_sequence/base.rb index af749e057..300d222d8 100644 --- a/lib/sequencer/unit/import/zendesk/sub_sequence/base.rb +++ b/lib/sequencer/unit/import/zendesk/sub_sequence/base.rb @@ -41,10 +41,13 @@ class Sequencer def resource_iteration(&block) resource_collection.public_send(resource_iteration_method, &block) rescue ZendeskAPI::Error::NetworkError => e - case e.response.status.to_s - when '403' - return if resource_klass.in?(%w[UserField OrganizationField]) - when /^5\d\d$/ + status = e.response.status.to_s + + if status.match?(/^(4|5)\d\d$/) + + # #2262 Zendesk-Import fails for User & Organizations when 403 "access" denied + return if status == '403' && resource_klass.in?(%w[UserField OrganizationField]) + raise if (fail_count ||= 1) > 10 logger.error e