INNER CODE UNIT · Go
timeout
psviderski/unregistry · cmd/unregistry/main.go:83
timeout := 30 * time.Second
logrus.Infof("Shutting down server... Draining connections for %s", timeout)
ctx, cancel := context.WithTimeout(context.Background(), timeout)
defer cancel()
if err = reg.Shutdown(ctx); err != nil {
return fmt.Errorf("registry server forced to shutdown: %w", err)
}
logrus.Info("Registry server stopped gracefully.")
}
return nil
}
func bindEnvToFlag(cmd *cobra.Command, flagName, envVar string) {
if value := os.Getenv(envVar); value != "" && !cmd.Flags().Changed(flagName) {
if err := cmd.Flags().Set(flagName, value); err != nil {
logrus.WithError(err).Fatalf("Failed to bind environment variable '%s' to flag '%s'.", envVar, flagName)