code quality improvements and refactoring

This commit is contained in:
Badri Narayanan S
2025-12-21 22:11:44 +05:30
parent f282b36d1e
commit 712da8f7f2
5 changed files with 81 additions and 56 deletions

View File

@@ -19,23 +19,32 @@ const accountManager = new AccountManager();
// Track initialization status
let isInitialized = false;
let initError = null;
let initPromise = null;
/**
* Ensure account manager is initialized
* Ensure account manager is initialized (with race condition protection)
*/
async function ensureInitialized() {
if (isInitialized) return;
try {
await accountManager.initialize();
isInitialized = true;
const status = accountManager.getStatus();
console.log(`[Server] Account pool initialized: ${status.summary}`);
} catch (error) {
initError = error;
console.error('[Server] Failed to initialize account manager:', error.message);
throw error;
}
// If initialization is already in progress, wait for it
if (initPromise) return initPromise;
initPromise = (async () => {
try {
await accountManager.initialize();
isInitialized = true;
const status = accountManager.getStatus();
console.log(`[Server] Account pool initialized: ${status.summary}`);
} catch (error) {
initError = error;
initPromise = null; // Allow retry on failure
console.error('[Server] Failed to initialize account manager:', error.message);
throw error;
}
})();
return initPromise;
}
// Middleware