在模块教程 KernelSU 解决方案中,关于您提到的 backend/src/schedules.rs 文件中的时间计算问题,确实存在一个逻辑上的挑战。当任务计划执行的时间点已经到达,但任务队列却已满时,系统会将 next_run_at 设置为当前时间加一分钟。这种做法虽然解决了队列满的问题,但同时也导致了一个潜在的问题:下一次任务执行时,这个被修改的时间点会被当作该槽位的 due,进而使得 first_run_at + k * interval 的执行节奏被永久平移。由于 request_key 中也包含了 due 信息,因此这种重试并不是在真正的“同一槽位”上执行,从而可能导致任务执行的混乱。
本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0
许可协议。转载请注明来自KernelSU分享库 !
评论已关闭