Respostas:
Eu acho que o próprio servidor FTP não lida com isso.
O sistema de arquivos subjacente gerenciará os acessos envolvidos aqui.
Se uma leitura iniciar antes de uma gravação, a leitura normalmente obterá a versão mais antiga.
Você deve obter a resposta para esta pergunta com base no
tratamento do sistema de arquivos do servidor para um arquivo que será substituído.
Acho que as implementações de FTP simplesmente não lidam com isso, e o sistema operacional varia de acordo com o que acontece, o Windows pode bloquear o arquivo, o linux fornecerá dados parciais.
Sim, você deve estar preocupado, especialmente sob alto uso. As soluções que encontrei no passado eram esboçadas, na melhor das hipóteses, incluindo pastas diferentes para upload / download e um processo de monitor para copiar de upload para download quando o arquivo é totalmente carregado.
Isso piora à medida que os arquivos são mais longos e / ou as pessoas carregam de conexões lentas.
Tenho certeza que você pode ter problemas. Tente o seguinte:
Inicie o upload de um arquivo grande para o seu servidor FTP. Atualize a visualização da pasta para a qual está sendo carregada e você verá que o tamanho do arquivo aumenta e o upload progride.
Se você tentar isso com um arquivo .mp3. Você pode acessá-lo através do navegador e ver que ele será reproduzido apenas até o ponto em que foi carregado atualmente.
É por isso que programas como o Dreamweaver têm um sistema de check-in / check-out. Portanto, se alguém estiver trabalhando em um arquivo .html, alguém não poderá fazer upload de uma versão mais antiga ou causar esse tipo de problema.
Acho que o FTP não usa nenhum tipo de arquivo temporário ou de fila ...
O uso de um software de controle de revisão ajudaria, neste caso, a dar uma olhada no Git e no SVN ; observe que existem dois tipos principais (centralizado e distribuído) e muitos outros aplicativos além desses dois.