I dont think the issue existed before, but I recently found that the socket (either ReconnectingSocket or KeepAliveSocket), the __aexit__ is always delayed for exact 10 seconds:
async with socket:
print('done')
print('close') # this message is always 10 secs late after the 'done' message
I dig a little bit of the code and I think it is because the socket is waiting for data in the _read_loop:
res = await asyncio.wait_for(
self.ws.recv(), timeout=self.TIMEOUT
)
and self.TIMEOUT is 10, which explains the 10 secs delay.
Am I right? And how do you remove the delay?
I dont think the issue existed before, but I recently found that the socket (either ReconnectingSocket or KeepAliveSocket), the
__aexit__is always delayed for exact 10 seconds:I dig a little bit of the code and I think it is because the socket is waiting for data in the
_read_loop:and
self.TIMEOUTis 10, which explains the 10 secs delay.Am I right? And how do you remove the delay?