我正在开发一个通过https请求与服务器通信的应用程序。我需要一条消息在非常狭窄的时间窗口中命中服务器。我知道这个时间窗口的开启时间只有半秒的精度。我可以在之前和之后尽可能多地重复http请求,这没关系。
目前,我在做什么:
我会在时间窗口的1秒内发送尽可能多的订单。
self.session = requests.Session()
self.session.mount('https://', requests.adapters.HTTPAdapter(pool_connections=100,
pool_maxsize=10000))
def sendRequest()
self.session.post(self.url, self.body)
pool = gevent.pool.Pool(size = 10000)
while time.time() < endTime:
g = pool.spawn(sendRequest)
gevent.sleep(0.0000001)
但是,我一直想念那个非常狭窄的窗户。我的代码似乎只发送2毫秒的http请求,即使我增加了池大小或 我正在努力提高发送邮件的速度,以增加我点击窗口的机会。但是,我不知道该怎么做。
我想知道:
答案 0 :(得分:0)
我最终直接使用套接字模块,因此控制较低级别的行为,并且它工作正常。请求模块很棒,但为这个特定问题增加了太多的延迟。