在任务调度系统中,following() 函数负责根据设定的计划来安排任务的执行。该函数遵循一个简单的规则:任务将在 due + k * interval 的时间点执行,其中 due 是初始的执行时间,interval 是固定的间隔时间,k 是一个非负整数。然而,在实际应用中,如果任务在执行时队列已满,系统会将该任务的 next_run_at 属性设置为 now + 60s,即当前时间加上60秒。这一改变会导致任务的执行计划被重新计算,从而改变了原有的执行网格。由于任务的 request_key 是基于 due 属性生成的,因此即使任务看起来像是同一槽位重试,实际上它使用的是不同的 request_key,这意味着系统会将其视为一个全新的任务来处理。
本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0
许可协议。转载请注明来自KernelSU分享库 !
评论已关闭