feat: enhance KOMGA_DEBUG functionality to disable request delays in debug mode and log request queue statistics
This commit is contained in:
5
ENV.md
5
ENV.md
@@ -18,10 +18,11 @@ ADMIN_DEFAULT_PASSWORD=Admin@2025
|
|||||||
# Cache Debug (optional - logs cache operations)
|
# Cache Debug (optional - logs cache operations)
|
||||||
# CACHE_DEBUG=true
|
# 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_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
|
# KOMGA_MAX_CONCURRENT_REQUESTS=5
|
||||||
|
|
||||||
# Node Environment
|
# Node Environment
|
||||||
|
|||||||
@@ -180,12 +180,17 @@ export abstract class BaseApiService {
|
|||||||
const startTime = isDebug ? Date.now() : 0;
|
const startTime = isDebug ? Date.now() : 0;
|
||||||
|
|
||||||
if (isDebug) {
|
if (isDebug) {
|
||||||
|
const queueStats = {
|
||||||
|
active: RequestQueueService.getActiveCount(),
|
||||||
|
queued: RequestQueueService.getQueueLength(),
|
||||||
|
};
|
||||||
logger.info({
|
logger.info({
|
||||||
url,
|
url,
|
||||||
method: options.method || 'GET',
|
method: options.method || 'GET',
|
||||||
params,
|
params,
|
||||||
isImage: options.isImage,
|
isImage: options.isImage,
|
||||||
noJson: options.noJson,
|
noJson: options.noJson,
|
||||||
|
queue: queueStats,
|
||||||
}, '🔵 Komga Request');
|
}, '🔵 Komga Request');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -76,8 +76,12 @@ class RequestQueue {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
// Délai adaptatif : plus long si la queue est pleine
|
// Délai adaptatif : plus long si la queue est pleine
|
||||||
const delayMs = this.queue.length > 10 ? 500 : 200;
|
// Désactivé en mode debug pour ne pas ralentir les tests
|
||||||
await this.delay(delayMs);
|
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();
|
const result = await request.execute();
|
||||||
request.resolve(result);
|
request.resolve(result);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
Reference in New Issue
Block a user