Skip to content

Commit 58b2929

Browse files
fix(get-modules): Reduce concurrency and add memory logging
1 parent 4bc1907 commit 58b2929

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

scripts/get-modules.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ const SKIPPED_MODULES_PATH = path.join(
5050
const MODULES_DIR = path.join(PROJECT_ROOT, "modules");
5151
const MODULES_TEMP_DIR = path.join(PROJECT_ROOT, "modules_temp");
5252

53-
const DEFAULT_URL_CONCURRENCY = 10;
53+
const DEFAULT_URL_CONCURRENCY = 5;
5454
const DEFAULT_URL_RATE = 15;
5555
const URL_VALIDATION_RETRY_COUNT = 5;
5656
const URL_VALIDATION_RETRY_DELAY_MS = 3000;
@@ -124,6 +124,14 @@ function parseCliOptions(argv: string[]): CliOptions {
124124
const cliOptions = parseCliOptions(process.argv.slice(2));
125125
const logger = createLogger({ name: "get-modules" });
126126

127+
function logMemoryUsage(label: string) {
128+
const usage = process.memoryUsage();
129+
const heapUsedMb = (usage.heapUsed / 1024 / 1024).toFixed(2);
130+
const heapTotalMb = (usage.heapTotal / 1024 / 1024).toFixed(2);
131+
const rssMb = (usage.rss / 1024 / 1024).toFixed(2);
132+
logger.info(`[Memory] ${label}: RSS=${rssMb}MB, Heap=${heapUsedMb}MB/${heapTotalMb}MB`);
133+
}
134+
127135
function logErrorDetails(error: unknown, { scope }: { scope: string }) {
128136
if (error instanceof Error) {
129137
const stack = error.stack ?? error.message;
@@ -399,6 +407,7 @@ async function validateModuleUrls({
399407
logger.info(
400408
`Progress: ${completed}/${total} URLs validated (concurrency=${urlConcurrency})`
401409
);
410+
logMemoryUsage(`Progress: ${completed}/${total}`);
402411
}
403412
} catch (error) {
404413
logger.error(`=== DIAGNOSTIC: Error validating ${module.name}: ${error} ===`);
@@ -544,6 +553,7 @@ async function processModules() {
544553
MODULES_STAGE_2_PATH
545554
);
546555
const modules = extractModules(stageData);
556+
logMemoryUsage("Initial");
547557

548558
logger.info(`Loaded ${modules.length} modules from stage 2`);
549559

@@ -669,6 +679,7 @@ async function processModules() {
669679
logger.info(`Total modules processed: ${validModules.length + skippedModules.length}/${validated.length}`);
670680
} finally {
671681
// Always write output, even if errors occurred
682+
logMemoryUsage("Pre-write");
672683
logger.info("Writing output files...");
673684
try {
674685
await writeOutputs({ validModules, skippedModules });
@@ -678,6 +689,7 @@ async function processModules() {
678689
logErrorDetails(writeError, { scope: "writeOutputs" });
679690
throw writeError;
680691
}
692+
logMemoryUsage("Post-write");
681693
}
682694
}
683695

0 commit comments

Comments
 (0)