diff --git a/lib/github-auth.js b/lib/github-auth.js index 9ce9716..c492fcd 100644 --- a/lib/github-auth.js +++ b/lib/github-auth.js @@ -144,6 +144,8 @@ function utcEpochSeconds() { return ((Date.now() / 1000) >>> 0); } +var userTokenRateLimit = 12500; + // Retrieve a user token if there is one for which we believe there are requests // remaining. Return undefined if we could not find one. function getReqRemainingToken() { @@ -153,7 +155,8 @@ function getReqRemainingToken() { for (var token of reqReset.keys()) { var reqs = reqRemaining.get(token); var reset = reqReset.get(token); - var hasRemainingReqs = reqs > 10; // Don't go too close to 0. + // We don't want to empty more than 3/4 of a user's rate limit. + var hasRemainingReqs = reqs > (userTokenRateLimit / 4); var isBeyondRateLimitReset = reset < now; if (hasRemainingReqs || isBeyondRateLimitReset) { return token;