diff --git a/commafeed-server/src/main/java/com/commafeed/backend/feed/FeedRefreshIntervalCalculator.java b/commafeed-server/src/main/java/com/commafeed/backend/feed/FeedRefreshIntervalCalculator.java index d71d39fa..b55a0668 100644 --- a/commafeed-server/src/main/java/com/commafeed/backend/feed/FeedRefreshIntervalCalculator.java +++ b/commafeed-server/src/main/java/com/commafeed/backend/feed/FeedRefreshIntervalCalculator.java @@ -31,14 +31,8 @@ public class FeedRefreshIntervalCalculator { return onFetchSuccess(publishedDate, averageEntryInterval); } - public Instant onTooManyRequests(Instant retryAfter) { - Instant defaultRefreshInterval = getDefaultRefreshInterval(); - - if (retryAfter == null) { - return defaultRefreshInterval; - } - - return ObjectUtils.max(retryAfter, defaultRefreshInterval); + public Instant onTooManyRequests(Instant retryAfter, int errorCount) { + return ObjectUtils.max(retryAfter, onFetchError(errorCount)); } public Instant onFetchError(int errorCount) { diff --git a/commafeed-server/src/main/java/com/commafeed/backend/feed/FeedRefreshWorker.java b/commafeed-server/src/main/java/com/commafeed/backend/feed/FeedRefreshWorker.java index 83049260..40e0f776 100644 --- a/commafeed-server/src/main/java/com/commafeed/backend/feed/FeedRefreshWorker.java +++ b/commafeed-server/src/main/java/com/commafeed/backend/feed/FeedRefreshWorker.java @@ -104,7 +104,7 @@ public class FeedRefreshWorker { feed.setErrorCount(feed.getErrorCount() + 1); feed.setMessage("Server indicated that we are sending too many requests"); - feed.setDisabledUntil(refreshIntervalCalculator.onTooManyRequests(e.getRetryAfter())); + feed.setDisabledUntil(refreshIntervalCalculator.onTooManyRequests(e.getRetryAfter(), feed.getErrorCount())); return new FeedRefreshWorkerResult(feed, Collections.emptyList()); } catch (Exception e) {