2013-02-12 9 views
6

Jestem pewien, że widziałem jakiś serwer open source napisany w Go, który był w stanie ponownie uruchomić i zachować otwarte połączenia.Wdzięczny restart, aby zachować połączenia otwarte

Nie mogę go znaleźć, aby nauczyć się tej techniki.

Wiem, że apache.httpd ma apachectl graceful, który ponownie uruchamia i utrzymuje połączenia otwarte.

Jak to się robi w ogóle i w Go?

Myślałem, że to musi rozwidlić i 1 wyjść, 2 exec (nowa aplikacja go) i połączenia połączeń przez Fd.

Ale w Go mogę znaleźć tylko funkcję ForkExec. Myślę, że wymagany jest Fork. Również pakiet syscall nie jest dobrze udokumentowany.

+0

Nie wdzięczne restartuje po prostu kręcić się nowy serwer do obsługi wszystkich nowych połączeń przychodzących, ale zachować stary serwer żyje aż skończy ich obsługi istniejące połączenia? Nie próbuje przekazywać istniejących połączeń do nowego żądania serwera. –

+0

Jeśli uruchomisz program, nowy program może udostępniać otwarte pliki starym. – Artem

Odpowiedz

Powiązane problemy