From 743bfced644d24ba0c86c86a448bbb8e7b5d41c2 Mon Sep 17 00:00:00 2001 From: Jakob Ackermann Date: Wed, 23 Jun 2021 14:42:39 +0100 Subject: [PATCH] [misc] ContentCacheManager: apply review feedback - count stages - lower bound is 1s Co-Authored-By: Brian Gough --- services/clsi/app/js/ContentCacheManager.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/services/clsi/app/js/ContentCacheManager.js b/services/clsi/app/js/ContentCacheManager.js index cbd6f3cde0..34e8a8cd73 100644 --- a/services/clsi/app/js/ContentCacheManager.js +++ b/services/clsi/app/js/ContentCacheManager.js @@ -235,22 +235,26 @@ async function writePdfStream(dir, hash, buffer) { function getDeadlineChecker(compileTime) { const maxOverhead = Math.min( - // Adding 10s to a 40s compile time is OK. - compileTime / 4, + // Adding 10s to a 40s compile time is OK. + // Adding 1s to a 3s compile time is OK. + Math.max(compileTime / 4, 1000), // Adding 30s to a 120s compile time is not OK, limit to 10s. Settings.pdfCachingMaxProcessingTime ) const deadline = Date.now() + maxOverhead let lastStage = { stage: 'start', now: Date.now() } + let completedStages = 0 return function (stage) { const now = Date.now() if (now > deadline) { throw new TimedOutError(stage, { + completedStages, lastStage: lastStage.stage, diffToLastStage: now - lastStage.now }) } + completedStages++ lastStage = { stage, now } } }