首页 > 解决方案 > 如何将随机性组件添加到计划中

问题描述

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

这段代码正好工作了 3 分钟,但我想不出一种方法来引入 30 秒的随机性:

import schedule
def job:
   print('hi')

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

标签: pythonrandomjobsschedule

解决方案


你需要查找randompython自带的模块。

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该类有一个to()方法:

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

推荐阅读