diff --git a/libs/user.js b/libs/user.js index 7e5b57ee..dfb809b8 100644 --- a/libs/user.js +++ b/libs/user.js @@ -322,20 +322,29 @@ module.exports = function(s,config){ callback(notFound,preset) }) } - s.checkForStalePurgeLocks = function(){ - clearTimeout(s.checkForStalePurgeLocksInterval) - s.checkForStalePurgeLocksInterval = setInterval(function(){ - Object.keys(s.group).forEach(function(groupKey){ - var userGroup = s.group[groupKey] - var monitorCount = Object.keys(userGroup.mon).length - var purgeRequestCount = userGroup.sizePurgeQueue.length - var isLocked = (userGroup.sizePurging === true) - if(isLocked && purgeRequestCount > monitorCount + 10){ - s.group[groupKey].sizePurgeQueue = [] - s.group[groupKey].sizePurging = false - s.systemLog(lang.sizePugeLockedText + ' : ' + groupKey) - } - }) - },1000 * 60 * 60) + if(config.cron.deleteOverMax === true){ + s.checkForStalePurgeLocks = function(){ + var doCheck = function(){ + Object.keys(s.group).forEach(function(groupKey){ + var userGroup = s.group[groupKey] + var monitorCount = 10 + if(userGroup.mon)monitorCount = Object.keys(userGroup.mon).length + var purgeRequestCount = userGroup.sizePurgeQueue.length + var isLocked = (userGroup.sizePurging === true) + if(isLocked && purgeRequestCount > monitorCount + 10){ + s.group[groupKey].sizePurgeQueue = [] + s.group[groupKey].sizePurging = false + s.systemLog(lang.sizePugeLockedText + ' : ' + groupKey) + } + }) + } + clearTimeout(s.checkForStalePurgeLocksInterval) + s.checkForStalePurgeLocksInterval = setInterval(function(){ + doCheck() + },1000 * 60 * 60) + doCheck() + } + }else{ + s.checkForStalePurgeLocks = function(){} } }