python - 如何将随机性组件添加到计划中
问题描述
我正在尝试安排一个作业平均每 3 分钟运行一次,随机性组件在 +/- 30 秒之间。所以下一个作业在 2 分钟 30 秒到 3 分钟 30 秒之后的任何地方运行。
这段代码正好工作了 3 分钟,但我想不出一种方法来引入 30 秒的随机性:
import schedule
def job:
print('hi')
schedule.every(3).minutes.do(job)
解决方案
你需要查找random
python自带的模块。
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)
推荐阅读
- python - 从多个 JSON 文件构造 DataFrame
- typescript - 如何使用多态性来隐藏接口的属性?
- python - pip 安装 math3d - 错误
- java - Hadoop 失败错误:java.lang.ArrayIndexOutOfBoundsException:5
- javascript - 您如何访问“全选”复选框?
- discord - 这些用户是机器人还是人?
- c# - 如何声明泛型类的实例变量?
- c++ - qInputDialog 在全屏应用程序中使 Unity 任务栏和标题栏可见
- c# - 当函数属于必须解析的类时,如何使用 Autofac 注册委托或函数?
- kotlin - Kotlin Coroutines 顺序执行