refactor: archive 28 V1 files to legacy/, Promise-based file semaphore
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -17,14 +17,22 @@ const execFileAsync = promisify(execFile);
|
||||
|
||||
let fileProcessActive = 0;
|
||||
const MAX_FILE_PROCESSORS = 2;
|
||||
const fileProcessWaiters: Array<() => void> = [];
|
||||
|
||||
export async function acquireFileProcessor(): Promise<void> {
|
||||
while (fileProcessActive >= MAX_FILE_PROCESSORS) {
|
||||
await new Promise(r => setTimeout(r, 100));
|
||||
if (fileProcessActive < MAX_FILE_PROCESSORS) {
|
||||
fileProcessActive++;
|
||||
return;
|
||||
}
|
||||
fileProcessActive++;
|
||||
return new Promise<void>((resolve) => {
|
||||
fileProcessWaiters.push(() => { fileProcessActive++; resolve(); });
|
||||
});
|
||||
}
|
||||
export function releaseFileProcessor(): void {
|
||||
fileProcessActive--;
|
||||
const next = fileProcessWaiters.shift();
|
||||
if (next) next();
|
||||
}
|
||||
export function releaseFileProcessor(): void { fileProcessActive--; }
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// TTS concurrency semaphore (P2-02)
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@
|
||||
"packages/*"
|
||||
],
|
||||
"scripts": {
|
||||
"start": "node server.js",
|
||||
"start": "node legacy/server.js",
|
||||
"dev": "node server.js",
|
||||
"build": "node scripts/build-v2.js && node scripts/build.js",
|
||||
"build:v2": "node scripts/build-v2.js",
|
||||
|
||||
Reference in New Issue
Block a user