interrupt issues with async code
Mantenedores costumam responder em até 1 dia
@Carreau já está trabalhando nisso.
Desde 26/8/2026.
Avaliação
Esta issue ainda não foi avaliada.
Descrição
Hi,
Aside from the now fixed #881, I still run into some async + interrupt issues. I'm not 100% sure if I need to do something differently or there is a way to do what we mean.
The following is not interrupted and always run to completion. If you sleep instead of httpx.get (or request.get), it works as expected.
import asyncio
import httpx
from tqdm.asyncio import tqdm as tqdm_async
semaphore = asyncio.Semaphore(1)
x = 0
async def one_at_a_time():
global semaphore
async with semaphore:
global x
# await asyncio.sleep(1)
httpx.get('http://httpbin.org/delay/1')
x += 1
print(x)
return x
await tqdm_async.gather(*[one_at_a_time() for _ in range(10)])
Ideally, I want these to be tasks so I can cancel them. Again, interrupt has no effect:
import asyncio
from time import sleep
from tqdm.asyncio import tqdm as tqdm_async
semaphore = asyncio.Semaphore(1)
x = 0
async def one_at_a_time():
global semaphore
async with semaphore:
global x
sleep(1)
x += 1
print(x)
return x
async def outer_async():
return await one_at_a_time()
await tqdm_async.gather(*[asyncio.create_task(one_at_a_time()) for _ in range(10)])
Any suggestions for how to fix my code to work better with ipykernel or how to fix ipykernel (or IPython) itself? Even better would be something that works on 6.x, but I think that may be challenging as even #881 is not fixed there.
- Linguagem predominante
- Python
- Estrelas
- 734
- Forks
- 411
- Merge médio
- 1d 11h
- PRs com merge (30d)
- 12
Preparar o ambiente
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.
Mais de ipython/ipykernel
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 68/100
ipython/ipykernel#1554 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Interrupt on swallowed `KeyboardInterrupt` exceptions (`SIGINT`) when pressing twice (within 5 seconds)Talvez livre de novo @Carreau assumiu há 31 dias e não há nenhum pull request aberto. Aberta
ipython/ipykernel#1550 · 1 comentário · 1 reação · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 66/100
Mantenedores costumam responder em até 1 dia
Todas as issues de ipython/ipykernel
Issues semelhantes
-
pydanty:is-working
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
pydantic/pydantic-ai#8843 ·
Mantenedores costumam responder em até 1 dia
-
breaking change enhancement server
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
sktime/sktime#11310 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
needs-triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
Mantenedores costumam responder em até 1 dia