Goで実現するgraceful shutdown:実運用での課題と解決策
https://gocon.jp/2025/talks/957443/
https://speakerdeck.com/uhzz/go-conference-2025
Graceful shutdown: 処理中のタスクのリソースを解放した後に、アプリケーション自身を修了する
SIGTERM を受け取ってからリソースを解放し、SIGKILL
Go で再現する: signal.NotifyContext + context.WithTimeout
signal.NotifyContext: OS からの SIGTERM を ctx.Done で受信
context.WithTimeout: 時間内にシャットダウン処理を安全に終了させる
net/http の Shutdown メソッドを用いると安全にシャットダウンできる
アイドリング のクローズが完了(またはタイムアウト)した時点で終了
非同期タスクマネージャーで実際に運用
登録した非同期タスクが完了するまでシャットダウンとを待機する
#Go_Conference_2025 #Go