fix: preserve automation queue safety limit
This commit is contained in:
@@ -14,10 +14,20 @@
|
||||
return Array.isArray(value) ? value : [];
|
||||
}
|
||||
|
||||
function normalizeQueueLimit(value) {
|
||||
const isNumber = typeof value === 'number';
|
||||
const isString = typeof value === 'string';
|
||||
if (!isNumber && !isString) return 15000;
|
||||
if (isString && value.trim() === '') return 15000;
|
||||
const number = Number(value);
|
||||
if (!Number.isFinite(number) || number < 0) return 15000;
|
||||
if (number === 0 && isString && value.trim() !== '0') return 15000;
|
||||
return Math.floor(number);
|
||||
}
|
||||
|
||||
function normalizeAutomationSettings(value = {}) {
|
||||
const settings = asObject(value);
|
||||
const rawLimit = Number(settings.queueLimitJobs);
|
||||
const queueLimitJobs = Number.isFinite(rawLimit) && rawLimit >= 0 ? Math.floor(rawLimit) : 15000;
|
||||
const queueLimitJobs = normalizeQueueLimit(settings.queueLimitJobs);
|
||||
const rawInterval = Number(settings.reconcileIntervalMinutes);
|
||||
return {
|
||||
queueLimitJobs,
|
||||
@@ -39,8 +49,7 @@
|
||||
);
|
||||
const rawCurrentJobCount = Number(value.currentJobCount);
|
||||
const currentJobCount = Number.isFinite(rawCurrentJobCount) ? Math.max(0, Math.floor(rawCurrentJobCount)) : 0;
|
||||
const rawQueueLimitJobs = value.queueLimitJobs === undefined ? 15000 : Number(value.queueLimitJobs);
|
||||
const queueLimitJobs = Number.isFinite(rawQueueLimitJobs) && rawQueueLimitJobs >= 0 ? Math.floor(rawQueueLimitJobs) : 15000;
|
||||
const queueLimitJobs = normalizeQueueLimit(value.queueLimitJobs);
|
||||
let available = queueLimitJobs === 0 ? Number.POSITIVE_INFINITY : Math.max(0, queueLimitJobs - currentJobCount);
|
||||
const admittedPaths = [];
|
||||
const deferredPaths = [];
|
||||
|
||||
Reference in New Issue
Block a user