9001 / 9001/copyparty

wait for active downloads during shutdown

Aberta
#116 2 comentários 0 reações 1 responsável Reivindicada por @9001 Ver no GitHub
enhancement
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

Abrir o 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

Receba novas issues na sua caixa de entrada

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