mirror of https://github.com/Sonarr/Sonarr
New: Increase rate limit for automatic searches
This commit is contained in:
parent
cf3d51bab2
commit
520b082f42
|
@ -48,7 +48,7 @@ namespace NzbDrone.Core.Indexers
|
|||
return Task.FromResult<IList<ReleaseInfo>>(Array.Empty<ReleaseInfo>());
|
||||
}
|
||||
|
||||
return FetchReleases(g => g.GetRecentRequests(), true);
|
||||
return FetchReleases(g => g.GetRecentRequests(), false, true);
|
||||
}
|
||||
|
||||
public override Task<IList<ReleaseInfo>> Fetch(SingleEpisodeSearchCriteria searchCriteria)
|
||||
|
@ -58,7 +58,7 @@ namespace NzbDrone.Core.Indexers
|
|||
return Task.FromResult<IList<ReleaseInfo>>(Array.Empty<ReleaseInfo>());
|
||||
}
|
||||
|
||||
return FetchReleases(g => g.GetSearchRequests(searchCriteria));
|
||||
return FetchReleases(g => g.GetSearchRequests(searchCriteria), searchCriteria.InteractiveSearch);
|
||||
}
|
||||
|
||||
public override Task<IList<ReleaseInfo>> Fetch(SeasonSearchCriteria searchCriteria)
|
||||
|
@ -68,7 +68,7 @@ namespace NzbDrone.Core.Indexers
|
|||
return Task.FromResult<IList<ReleaseInfo>>(Array.Empty<ReleaseInfo>());
|
||||
}
|
||||
|
||||
return FetchReleases(g => g.GetSearchRequests(searchCriteria));
|
||||
return FetchReleases(g => g.GetSearchRequests(searchCriteria), searchCriteria.InteractiveSearch);
|
||||
}
|
||||
|
||||
public override Task<IList<ReleaseInfo>> Fetch(DailyEpisodeSearchCriteria searchCriteria)
|
||||
|
@ -78,7 +78,7 @@ namespace NzbDrone.Core.Indexers
|
|||
return Task.FromResult<IList<ReleaseInfo>>(Array.Empty<ReleaseInfo>());
|
||||
}
|
||||
|
||||
return FetchReleases(g => g.GetSearchRequests(searchCriteria));
|
||||
return FetchReleases(g => g.GetSearchRequests(searchCriteria), searchCriteria.InteractiveSearch);
|
||||
}
|
||||
|
||||
public override Task<IList<ReleaseInfo>> Fetch(DailySeasonSearchCriteria searchCriteria)
|
||||
|
@ -88,7 +88,7 @@ namespace NzbDrone.Core.Indexers
|
|||
return Task.FromResult<IList<ReleaseInfo>>(Array.Empty<ReleaseInfo>());
|
||||
}
|
||||
|
||||
return FetchReleases(g => g.GetSearchRequests(searchCriteria));
|
||||
return FetchReleases(g => g.GetSearchRequests(searchCriteria), searchCriteria.InteractiveSearch);
|
||||
}
|
||||
|
||||
public override Task<IList<ReleaseInfo>> Fetch(AnimeEpisodeSearchCriteria searchCriteria)
|
||||
|
@ -98,7 +98,7 @@ namespace NzbDrone.Core.Indexers
|
|||
return Task.FromResult<IList<ReleaseInfo>>(Array.Empty<ReleaseInfo>());
|
||||
}
|
||||
|
||||
return FetchReleases(g => g.GetSearchRequests(searchCriteria));
|
||||
return FetchReleases(g => g.GetSearchRequests(searchCriteria), searchCriteria.InteractiveSearch);
|
||||
}
|
||||
|
||||
public override Task<IList<ReleaseInfo>> Fetch(AnimeSeasonSearchCriteria searchCriteria)
|
||||
|
@ -108,7 +108,7 @@ namespace NzbDrone.Core.Indexers
|
|||
return Task.FromResult<IList<ReleaseInfo>>(Array.Empty<ReleaseInfo>());
|
||||
}
|
||||
|
||||
return FetchReleases(g => g.GetSearchRequests(searchCriteria));
|
||||
return FetchReleases(g => g.GetSearchRequests(searchCriteria), searchCriteria.InteractiveSearch);
|
||||
}
|
||||
|
||||
public override Task<IList<ReleaseInfo>> Fetch(SpecialEpisodeSearchCriteria searchCriteria)
|
||||
|
@ -118,7 +118,7 @@ namespace NzbDrone.Core.Indexers
|
|||
return Task.FromResult<IList<ReleaseInfo>>(Array.Empty<ReleaseInfo>());
|
||||
}
|
||||
|
||||
return FetchReleases(g => g.GetSearchRequests(searchCriteria));
|
||||
return FetchReleases(g => g.GetSearchRequests(searchCriteria), searchCriteria.InteractiveSearch);
|
||||
}
|
||||
|
||||
public override HttpRequest GetDownloadRequest(string link)
|
||||
|
@ -126,11 +126,12 @@ namespace NzbDrone.Core.Indexers
|
|||
return new HttpRequest(link);
|
||||
}
|
||||
|
||||
protected virtual async Task<IList<ReleaseInfo>> FetchReleases(Func<IIndexerRequestGenerator, IndexerPageableRequestChain> pageableRequestChainSelector, bool isRecent = false)
|
||||
protected virtual async Task<IList<ReleaseInfo>> FetchReleases(Func<IIndexerRequestGenerator, IndexerPageableRequestChain> pageableRequestChainSelector, bool interactiveSearch = false, bool isRecent = false)
|
||||
{
|
||||
var releases = new List<ReleaseInfo>();
|
||||
var url = string.Empty;
|
||||
var minimumBackoff = TimeSpan.FromHours(1);
|
||||
var automaticSearchRateLimit = TimeSpan.FromSeconds(25);
|
||||
|
||||
try
|
||||
{
|
||||
|
@ -158,6 +159,11 @@ namespace NzbDrone.Core.Indexers
|
|||
{
|
||||
url = request.Url.FullUri;
|
||||
|
||||
if (!interactiveSearch && request.HttpRequest.RateLimit < automaticSearchRateLimit)
|
||||
{
|
||||
request.HttpRequest.RateLimit = automaticSearchRateLimit;
|
||||
}
|
||||
|
||||
var page = await FetchPage(request, parser);
|
||||
|
||||
pagedReleases.AddRange(page);
|
||||
|
|
Loading…
Reference in New Issue