如何将随机性组件添加到计划中

How to add a component of randomness to a schedule

我正在尝试将作业安排为平均每 3 分钟 运行,随机性成分在 +/- 30 秒之间。所以下一个工作 运行s 在 2 分钟 30 秒到 3 分钟 30 秒之间的任何地方。

此代码在整整 3 分钟内运行良好,但我想不出一种方法来引入 30 秒的随机性:

import schedule
def job:
   print('hi')

schedule.every(3).minutes.do(job)

需要查看python自带的random模块。

import schedule
import random

def job():
   print('hi')

two_mins_30 = 2 * 60 + 30
schedule.every(two_mins_30 + random.randint(0, 60)).seconds.do(job)

这个计算是:两分钟,30加上随机一分钟。

更新:

事实证明你可以直接使用 schedule 来做到这一点,因为 Job class 有一个 to() 方法:

schedule.every(two_mins_30).to(two_mins_30 + 60).seconds.do(job)