MagicStack / MagicStack/uvloop
Loop.call_later(0) and Loop.call_later(-1) return a uvloop.loop.Handle and not an asyncio.TimerHandle
Aberta
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- Cython
- Estrelas
- 11.9k
- Forks
- 616
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
- uvloop version: master
- Python version: 3.10
- Platform: ubuntu
- Can you reproduce the bug with
PYTHONASYNCIODEBUGin env?: yes - Does uvloop behave differently from vanilla asyncio? How?: yes
Python 3.10.5 (main, Jun 11 2022, 16:53:24) [GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import asyncio
>>> import uvloop
>>> uvloop.new_event_loop().call_later(-1, lambda: None)
<Handle <lambda>>
>>> asyncio.new_event_loop().call_later(-1, lambda: None)
<TimerHandle when=79332.145640902 <lambda>() at <stdin>:1>
>>>
the bug is here:
https://github.com/MagicStack/uvloop/blob/5926386f81ea49903db9d5095058787ed91cff3d/uvloop/loop.pyx#L1327-L1328
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Direção de pesquisa
Comece em uvloop/loop.pyx nas linhas 1327-1328 e compare o comportamento de Loop.call_later(0) e Loop.call_later(-1) com o do vanilla asyncio. O trabalho estará concluído quando ambas as chamadas do uvloop retornarem um asyncio.TimerHandle em vez de um uvloop.loop.Handle, inclusive quando PYTHONASYNCIODEBUG estiver habilitado.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- python
- Domínio
- backend
- Tipo de issue
- Bug
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Status de atividade
- Estagnada
- Clareza
- Claramente especificada
- Facilidade para iniciantes
- 45/100