Rate limit tracker requests during manga migration

This commit is contained in:
schroda
2026-05-13 02:14:07 +02:00
parent 679df11aad
commit 0b373c7785
2 changed files with 15 additions and 7 deletions

View File

@@ -11,6 +11,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
- (**Migration**) Show "abort" button during active bulk migration search
- (**Migration**) Keep the migration page open when aborting during the actual migration execution
- (**Migration**) Prevent concurrent requests to the same tracker
- (**Migration**) Allow only 2 tracker requests per second
### Fixed

View File

@@ -300,13 +300,20 @@ export class MangaMigration {
(trackRecord) =>
MangaMigration.getOrCreateQueue(trackRecord.trackerId).enqueue(
String(mangaToMigrate.id),
() =>
requestManager.bindTracker(
mangaToMigrateTo.id,
trackRecord.trackerId,
trackRecord.remoteId,
trackRecord.private,
).response,
async () => {
try {
await requestManager.bindTracker(
mangaToMigrateTo.id,
trackRecord.trackerId,
trackRecord.remoteId,
trackRecord.private,
).response;
} finally {
await new Promise((resolve) => {
setTimeout(resolve, 500);
});
}
},
).promise,
),
cleanup: () =>