refactor(schedule): simplify recurrence evidence

This commit is contained in:
pku-xht
2026-08-06 21:15:52 +08:00
committed by Tianyi Cui
parent ceb0bbd66d
commit 93d239b5d7
4 changed files with 136 additions and 118 deletions

View File

@@ -532,9 +532,6 @@ export function resolveEveryOccurrence(
|| acceptedAt > MAX_FOUR_DIGIT_YEAR_MS) {
throw new ScheduleLogError('every acceptedAt must be a representable four-digit-year instant')
}
if (!Number.isSafeInteger(interval) || interval <= 0) {
throw new ScheduleLogError('every interval milliseconds must be a positive safe integer')
}
if (acceptedAt < target) {
throw new ScheduleLogError('every dispatch cannot precede the active scheduledAt')
}

View File

@@ -331,9 +331,6 @@ describe('fixed-rate records and durable progression', () => {
expect(() => resolveEveryOccurrence(record, Date.parse('2026-08-05T12:04:59.999Z')))
.toThrow(/cannot precede/)
expect(() => resolveEveryOccurrence(record, Number.NaN)).toThrow(/acceptedAt/)
expect(() => resolveEveryOccurrence({ ...record, everySeconds: 0 }, Date.parse(record.scheduledAt)))
.toThrow(/interval milliseconds/)
const final = {
...record,
scheduledAt: '9999-12-31T23:59:59.999Z',

View File

@@ -52,12 +52,4 @@ describe('fixed-rate recurrence properties', () => {
},
), { numRuns: 300 })
})
it('derives the 288-batch rolling-day bound from the fixed spacing', () => {
const spacing = 300_000
const day = 86_400_000
const accepted = Array.from({ length: 289 }, (_, index) => BASE + index * spacing)
expect(accepted.slice(0, 288).every(value => value >= BASE && value < BASE + day)).toBe(true)
expect(accepted[288]).toBe(BASE + day)
})
})