在两次之间随机发送请求
Send request at random times between two times
如果我想在两次之间的随机时间执行命令,我该怎么做?
例如,在 10 秒到 60 分钟之间的随机时间发送以下请求?
import requests
r = requests.get('https://api.github.com/events')
最简单的实现方式是让您的程序休眠 10 到 3600 秒之间的随机时间。
您可以使用time.sleep()
方法让您的程序暂停,使用random.randint(x, y)
方法在x
和y
之间生成一个随机数
import time, random, requests
time.sleep(random.randint(10, 3600))
r = requests.get('https://api.github.com/events')
您可以使用 random
模块
import random
import time
secondstowait = random.randint(10, 60)
minutestowait = random.randint(0, 59) * 60 # converts minutes to seconds
time.sleep(secondstowait + minutestowait)
time
模块中的 sleep()
函数显然会停止您的程序所需的秒数
虽然有很多方法可以做到这一点,但您可以尝试使用功能齐全的库来避免重新发明轮子,并且可以满足更复杂的要求。由于您的示例代码段是 python,请查看 Simpy。
这是一个出色的全功能库,例如您的示例到更复杂的全功能模拟。
如果我想在两次之间的随机时间执行命令,我该怎么做?
例如,在 10 秒到 60 分钟之间的随机时间发送以下请求?
import requests
r = requests.get('https://api.github.com/events')
最简单的实现方式是让您的程序休眠 10 到 3600 秒之间的随机时间。
您可以使用time.sleep()
方法让您的程序暂停,使用random.randint(x, y)
方法在x
和y
import time, random, requests
time.sleep(random.randint(10, 3600))
r = requests.get('https://api.github.com/events')
您可以使用 random
模块
import random
import time
secondstowait = random.randint(10, 60)
minutestowait = random.randint(0, 59) * 60 # converts minutes to seconds
time.sleep(secondstowait + minutestowait)
time
模块中的 sleep()
函数显然会停止您的程序所需的秒数
虽然有很多方法可以做到这一点,但您可以尝试使用功能齐全的库来避免重新发明轮子,并且可以满足更复杂的要求。由于您的示例代码段是 python,请查看 Simpy。
这是一个出色的全功能库,例如您的示例到更复杂的全功能模拟。