getOptimalRetries method

int getOptimalRetries(
  1. String url,
  2. int defaultRetries
)

Gets the optimal number of retries for the given URL based on past performance

Implementation

int getOptimalRetries(String url, int defaultRetries) {
  final domain = _extractDomain(url);
  if (domain == null) return defaultRetries;

  if (_siteReputations.containsKey(domain)) {
    final reputation = _siteReputations[domain]!;

    // If the site has a low success rate, increase the retries
    if (reputation.successRate < 0.5) {
      return defaultRetries * 2;
    }

    // If the site has specific error patterns, adjust retries
    if (reputation.hasProblematicErrors) {
      return defaultRetries * 2;
    }
  }

  return defaultRetries;
}