Remove rate limit from TMDb provider

pull/3836/head
cvium 5 years ago
parent b7f3906446
commit 268139c435

@ -406,26 +406,11 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.Movies
return mainResult; return mainResult;
} }
private static long _lastRequestTicks;
// The limit is 40 requests per 10 seconds
private const int RequestIntervalMs = 300;
/// <summary> /// <summary>
/// Gets the movie db response. /// Gets the movie db response.
/// </summary> /// </summary>
internal async Task<HttpResponseInfo> GetMovieDbResponse(HttpRequestOptions options) internal async Task<HttpResponseInfo> GetMovieDbResponse(HttpRequestOptions options)
{ {
var delayTicks = (RequestIntervalMs * 10000) - (DateTime.UtcNow.Ticks - _lastRequestTicks);
var delayMs = Math.Min(delayTicks / 10000, RequestIntervalMs);
if (delayMs > 0)
{
_logger.LogDebug("Throttling Tmdb by {0} ms", delayMs);
await Task.Delay(Convert.ToInt32(delayMs)).ConfigureAwait(false);
}
_lastRequestTicks = DateTime.UtcNow.Ticks;
options.BufferContent = true; options.BufferContent = true;
options.UserAgent = _appHost.ApplicationUserAgent; options.UserAgent = _appHost.ApplicationUserAgent;

Loading…
Cancel
Save