aio-libs / aio-libs/aiozmq

No cleanup on rpc timeout

Aberta
#100 1 comentário 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
Python
Estrelas
431
Forks
57
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

``` python
import itertools
import asyncio
import contextlib

import aiozmq.rpc

async def foo():

client = await aiozmq.rpc.connect_rpc(connect="tcp://127.0.0.1:5555",
timeout=0)

for i in itertools.count():

if i % 1000 == 0:

print(len(client._proto.calls))

with contextlib.suppress(asyncio.TimeoutError):

await client.call.test()

loop = asyncio.get_event_loop()
loop.run_until_complete(foo())
```
Output:
``` shell
$ python test.py
0
1000
2000
3000
4000
5000
6000
...
```
There is no cleanup on timeout event. Timeout just fires, but no changes to internals.
https://github.com/aio-libs/aiozmq/blob/master/aiozmq/rpc/rpc.py#L182
https://github.com/aio-libs/aiozmq/blob/master/aiozmq/rpc/util.py#L23-L28
This code on my desktop increase python process memory usage at 10Mb/s rate.

Guia de contribuição

Abrir o guia de contribuição

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.