feat: enhance KOMGA_DEBUG functionality to disable request delays in debug mode and log request queue statistics

This commit is contained in:
Julien Froidefond
2025-10-29 13:33:38 +01:00
parent 24431c6718
commit b49177ffbf
3 changed files with 14 additions and 4 deletions

5
ENV.md
View File

@@ -18,10 +18,11 @@ ADMIN_DEFAULT_PASSWORD=Admin@2025
# Cache Debug (optional - logs cache operations)
# CACHE_DEBUG=true
# Komga Debug (optional - logs all requests to Komga)
# Komga Debug (optional - logs all requests to Komga and disables artificial delays)
# KOMGA_DEBUG=true
# Komga Request Queue (optional - max concurrent requests to Komga, default: 2)
# Komga Request Queue (optional - max concurrent requests to Komga, default: 5)
# Augmenter à 10-20 pour du local avec des gros fichiers CBZ
# KOMGA_MAX_CONCURRENT_REQUESTS=5
# Node Environment

View File

@@ -180,12 +180,17 @@ export abstract class BaseApiService {
const startTime = isDebug ? Date.now() : 0;
if (isDebug) {
const queueStats = {
active: RequestQueueService.getActiveCount(),
queued: RequestQueueService.getQueueLength(),
};
logger.info({
url,
method: options.method || 'GET',
params,
isImage: options.isImage,
noJson: options.noJson,
queue: queueStats,
}, '🔵 Komga Request');
}

View File

@@ -76,8 +76,12 @@ class RequestQueue {
try {
// Délai adaptatif : plus long si la queue est pleine
// Désactivé en mode debug pour ne pas ralentir les tests
const isDebug = process.env.KOMGA_DEBUG === 'true';
if (!isDebug) {
const delayMs = this.queue.length > 10 ? 500 : 200;
await this.delay(delayMs);
}
const result = await request.execute();
request.resolve(result);
} catch (error) {