Retour au cours

Arrêt progressif (Graceful Shutdown) : Nettoyer à la sortie

Go (Golang) pour les microservices cloud-native

Ne vous contentez pas de tuer le processus

Lorsqu'un microservice s'arrête (par exemple, lors d'un déploiement), il doit terminer les requêtes en cours avant de quitter.

Utiliser os/signal :

go stop := make(chan os.Signal, 1) signal.Notify(stop, os.Interrupt)

<-stop // Attendre le Ctrl+C

ctx, _ := context.WithTimeout(context.Background(), 5*time.Second) server.Shutdown(ctx) // Arrêter de recevoir de nouvelles requêtes et terminer les anciennes