Sto costruendo un server Node che serve file di grandi dimensioni per il download e lo streaming. Occasionalmente sarà necessario modificare questi file, a volte in massa con uno script. Voglio essere in grado di aggiornarli senza interrompere i download in corso.
Quello che mi è venuto in mente è un sistema in cui, per la voce del database di un dato file, avrò un flag "in uso" e un flag di "aggiornamento". Dovrò impostare il flag "in uso" su true all'avvio di un download e in qualche modo emettere un evento che imposta il flag su false ogni volta che l'ultimo download viene completato.
Il flag "aggiornamento" impedirà ulteriori download. Quando avvio uno script per aggiornare i file, prima cambia il flag di "aggiornamento" di un determinato file su true, quindi controlla il flag "in uso". Se è vero, registrerà un listener per l'ultimo evento di download completo sopra menzionato, che aggiornerà il file.
La mia domanda è, è completamente pazzo? C'è un modello comune per questo problema?