Skip to content

Commit

Permalink
fix(server/cron): invalid step return for indivisible values
Browse files Browse the repository at this point in the history
Was reliant on some previously removed hacky-logic in scheduleTask.
Return value + max and rely on getNextTime/os.time to handle overflow.
  • Loading branch information
thelindat committed Aug 7, 2023
1 parent 8c9cdb1 commit d268168
Showing 1 changed file with 6 additions and 7 deletions.
13 changes: 6 additions & 7 deletions imports/cron/server.lua
Original file line number Diff line number Diff line change
Expand Up @@ -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+')
Expand Down

0 comments on commit d268168

Please sign in to comment.