wait for active downloads during shutdown
- Linguagem predominante
- Python
- Estrelas
- 46.7k
- Forks
- 1.9k
- Merge médio
- 9d 2h
- PRs com merge (30d)
- 4
Descrição
currently, during shutdown, all tcp sockets/connections are closed immediately.
consider only closing the listening socket, and let client connections linger for some time, until all active downloads have had a chance to finish.
this would be useful during upgrades; could start shutting down the old instance, then launch the new one, and let the old one expire on its own when ready. But there's a couple things to keep in mind,
* ongoing uploads must be terminated immediately to avoid multiple instances writing into the same target files
* kill background tasks (up2k snapshots/rescans etc.) so they don't trample eachother
* check if there's any interesting opportunities for sqlite deadlocks
Guia de contribuição
Direção de pesquisa
Examine o tratamento de sockets TCP e a lógica de desligamento no código do servidor. Identifique onde as conexões são fechadas e onde os downloads ativos são rastreados. O objetivo é modificar o desligamento para fechar somente o socket de escuta, permitir que as conexões dos clientes permaneçam abertas até que os downloads sejam concluídos, mas encerrar imediatamente os uploads e as tarefas em segundo plano. Verifique os riscos de deadlock do SQLite. Os testes envolvem simular atualizações com transferências em andamento.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- python
- Domínio
- backend, networking
- Tipo de issue
- Funcionalidade
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 45/100