Node.js 随机安排

Node.js Random Scheduling

我有一个函数想在 Node.js 的随机范围内调用。因此,例如,我希望它在 2 到 12 小时之间执行一次,然后在 2 到 12 小时之间再次执行一次,依此类推。但是,这个间隔不应该是固定的,所以我需要在每次调用结束时重新计算该间隔。

如果可能的话,我还想限制一周中可以执行的天数,例如周六和周日。

我已经尝试研究 later.js,第二部分做得很好,但我似乎无法找到一种方法来逐步随机化间隔。有谁知道如何做到这一点?

循环结束时,

  • 使用new Date(y, m, d, h)构造函数构造第一个适用时间和最后一个适用时间(使用now = new Date(); y = now.getYear(); ...提取您需要的组件
  • 将它们转换为时间戳
  • 生成两个时间戳之间的随机整数
  • setTimeout(process, new Date(randomTimestamp - new Date())

我必须承认自己不是 later.js 专家,但 custom time periods 不正是您所追求的吗?