更新时间:2026-07-28 GMT+08:00
分享

定时任务抖动机制

循环任务抖动

循环任务每次触发时,会在计划时间基础上向后延迟一小段随机时间。

  • 偏移量计算:基于任务ID确定性计算(同一任务每次偏移量一致,不随时间变化)。
  • 偏移范围:min(10% × 执行周期, 5分钟),即最多5分钟。
  • 偏移方向:仅向后延迟,不会提前执行。

单次任务抖动

整点和半点是多个任务最容易集中触发的时刻,抖动机制专门针对这些时刻分散负载。单次任务仅在触发时间恰好在整点(:00)或半点(:30)时添加抖动,其他时间不加。

  • 偏移方向:向前提前执行(负抖动)。
  • 偏移范围:0~30秒,即最多提前30秒触发。
  • 触发条件:仅在分钟数为0或30时生效。

抖动的确定性特征

抖动偏移量基于任务ID通过哈希算法确定性计算,具有以下特征:

  • 同一任务始终一致:同一个任务的每次触发偏移量相同,不会忽快忽慢。
  • 不同任务偏移不同:不同任务即使设定相同周期,偏移量也不同,避免同时触发。
  • 不可手动配置:抖动参数由系统预设,无需也不支持用户手动调整。

相关文档