mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-12-18 20:25:45 +01:00
Add sleeps to github api to prevent rate limiting
This commit is contained in:
parent
e80190e687
commit
1e55715c6b
@ -1,3 +1,4 @@
|
||||
/* eslint-disable no-await-in-loop */
|
||||
import { Octokit } from "@octokit/rest";
|
||||
import commandLineArgs from "command-line-args";
|
||||
|
||||
@ -78,10 +79,9 @@ class MergeChangelog {
|
||||
searchResults.push(...entries);
|
||||
}
|
||||
|
||||
const pullRequestPromises = [];
|
||||
const pulls = [];
|
||||
for (const entry of searchResults) {
|
||||
pullRequestPromises.push(
|
||||
this.octokit.rest.pulls.get({
|
||||
const r = await (this.octokit.rest.pulls.get({
|
||||
owner, repo,
|
||||
pull_number: entry.number,
|
||||
}).then((response) => ({
|
||||
@ -89,9 +89,9 @@ class MergeChangelog {
|
||||
merge_commit_sha: response.data.merge_commit_sha,
|
||||
head_commit_sha: response.data.head.sha,
|
||||
})));
|
||||
pulls.push(r);
|
||||
await sleep(1000);
|
||||
}
|
||||
|
||||
const pulls = await Promise.all(pullRequestPromises);
|
||||
return pulls;
|
||||
}
|
||||
|
||||
@ -128,8 +128,9 @@ class MergeChangelog {
|
||||
const pullQuery = `user:${owner} repo:${repo} is:pr is:merged merged:"${from.date.toISOString()}..${to.date.toISOString()}"`;
|
||||
|
||||
const commits = await this.getCommitsSearchResults(commitQuery);
|
||||
await sleep(5000)
|
||||
const pulls = await this.getPullsSearchResults(pullQuery);
|
||||
|
||||
await sleep(5000)
|
||||
// We only have the merge commit sha & the HEAD sha in this data, but it can exclude some entries
|
||||
const pullsCommitSha = pulls.
|
||||
map((p) => [p.merge_commit_sha, p.head_commit_sha]).
|
||||
@ -234,6 +235,12 @@ ${commitLines.join('\n')}
|
||||
}
|
||||
}
|
||||
|
||||
const sleep = async (wait) => {
|
||||
return new Promise((resolve) => {
|
||||
setTimeout(resolve, wait)
|
||||
})
|
||||
}
|
||||
|
||||
const api = new MergeChangelog({ auth: process.env.GITHUB_API_TOKEN });
|
||||
api.getChangelog(cliArgs.from, cliArgs.to, cliArgs.detailed).then((data) => {
|
||||
console.log(data.log);
|
||||
|
Loading…
Reference in New Issue
Block a user