2013-02-12 17 views
6

Sono sicuro di aver visto alcuni server open source scritti in Go che è stato in grado di riavviarsi e mantenere le connessioni aperte.Grazioso riavvio per mantenere le connessioni aperte

Non riesco a trovarlo per imparare quella tecnica.

So che apache.httpd ha apachectl graceful che si riavvia e mantiene le connessioni aperte.

Come è fatto in generale e in Go?

Ho pensato che deve forchetta e 1 uscita, 2 exec (new go app) e connessioni link da Fd.

Ma in Go, è possibile trovare solo la funzione ForkExec. Penso che sia richiesto Fork. Anche il pacchetto syscall non è molto ben documentato.

+0

Non si riavvia aggraziate semplicemente spin up del nuovo server per gestire tutte le nuove connessioni in entrata, ma mantenere vivo il vecchio server finché non è finito il servizio del connessioni esistenti? Non tenta di consegnare le connessioni esistenti alla nuova richiesta mid del server. –

+0

Se si esegue il programma, il nuovo programma potrebbe condividere file aperti con uno vecchio. – Artem

risposta

Problemi correlati