mirror of
https://github.com/tdurieux/anonymous_github.git
synced 2026-02-13 10:52:53 +00:00
feat: retry 3 times to download a repository
This commit is contained in:
@@ -185,7 +185,7 @@ export default class Repository {
|
||||
this._model.anonymizeDate = new Date();
|
||||
console.log(`${this._model.repoId} will be updated to ${newCommit}`);
|
||||
await this.resetSate("preparing");
|
||||
await downloadQueue.add(this, { jobId: this.repoId });
|
||||
await downloadQueue.add(this, { jobId: this.repoId, attempts: 3 });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -432,7 +432,10 @@ router.post("/", async (req: express.Request, res: express.Response) => {
|
||||
}
|
||||
|
||||
res.send({ status: repo.status });
|
||||
downloadQueue.add(new Repository(repo), { jobId: repo.repoId });
|
||||
downloadQueue.add(new Repository(repo), {
|
||||
jobId: repo.repoId,
|
||||
attempts: 3,
|
||||
});
|
||||
} catch (error) {
|
||||
if (error.message?.indexOf(" duplicate key") > -1) {
|
||||
return handleError(
|
||||
|
||||
@@ -87,11 +87,11 @@ router.get(
|
||||
fiveMinuteAgo.setMinutes(fiveMinuteAgo.getMinutes() - 5);
|
||||
if (repo.status != "ready") {
|
||||
if (
|
||||
repo.model.statusDate < fiveMinuteAgo
|
||||
repo.model.statusDate < fiveMinuteAgo
|
||||
// && repo.status != "preparing"
|
||||
) {
|
||||
await repo.updateStatus("preparing");
|
||||
await downloadQueue.add(repo, { jobId: repo.repoId });
|
||||
await downloadQueue.add(repo, { jobId: repo.repoId, attempts: 3 });
|
||||
}
|
||||
if (repo.status == "error") {
|
||||
throw new AnonymousError(
|
||||
@@ -121,7 +121,7 @@ router.get(
|
||||
!!config.ENABLE_DOWNLOAD &&
|
||||
repo.source.type == "GitHubDownload";
|
||||
}
|
||||
|
||||
|
||||
res.header("Cache-Control", "no-cache");
|
||||
res.json({
|
||||
url: redirectURL,
|
||||
|
||||
Reference in New Issue
Block a user