Я новичок в Go, и у меня есть несколько небольших сервисов.Выйти из приложения изящно
Когда я развертываю новую версию, я обычно просто загружаю новый двоичный файл, kill
существующий процесс и запускаю новый.
Мне интересно, правильно ли это сделать, или если есть лучший способ сделать это.
Каковы ваши цели? Нет ничего плохого в том, что вы делаете, и нет ничего действительно отличного для программы Go против любого другого. – JimB
@JimB Я просто убедился, что на самом деле все в порядке. Я предполагаю, что, например, многие HTTP-сервисы завершат обработку любых выданных запросов до выхода. 'kill' чувствует себя не так, но это может быть просто моя неопытность. – Evert
Как и другие, kill-and-restart не так уж редко (в Go или в другом месте). Существует некоторый код, который выходит из его пути, чтобы избежать сброса соединений при перезагрузке: https://github.com/facebookgo/grace – twotwotwo