fix(server/cron): invalid step return for indivisible values

Was reliant on some previously removed hacky-logic in scheduleTask.
Return value + max and rely on getNextTime/os.time to handle overflow.
This commit is contained in:
Linden
2023-08-07 18:08:53 +10:00
parent 8c9cdb1a13
commit d268168dc7

View File

@@ -52,16 +52,15 @@ local function getTimeUnit(value, unit)
local stepValue = string.match(value, '*/(%d+)')
if stepValue then
-- */10 * * * * is equal to a list of 0,10,20,30,40,50
-- best suited to factors of unitMax (excluding the highest and lowest numbers)
-- i.e. for minutes - 2, 3, 4, 5, 6, 10, 12, 15, 20, 30
for i = currentTime + 1, unitMax do
-- return the current minute if it is divisible by the stepvalue
-- i.e. */10 * * * * is equal to a list of 0,10,20,30,40,50
-- best suited to numbers evenly divided by unitMax
if i % stepValue == 0 then
return i
end
-- if i is divisible by stepValue
if i % stepValue == 0 then return i end
end
return 0
return stepValue + unitMax
end
local range = string.match(value, '%d+-%d+')