em aplicativos simples Go Web que utilizam bancos de dados como PostGresql, o momento do fechamento de conexão do banco de dados se torna uma consideração. Aqui está um mergulho profundo quando e como lidar com isso em aplicativos que são executados indefinidamente. func main () { VAR ERR ERRO dB, err = sql.open ("PostGres", "...") se err! = nil { Log.fatalf ("Não foi possível se conectar ao banco de dados: %v", err) } http.handlefunc ("/qualquer coisa", o que quer que seja o Mandhler) http.ListenAndServe ("127.0.0.1:8080", nil) }
surge a pergunta: quando o método Close () deve ser chamado na conexão DB? No entanto, outras considerações podem justificar o manuseio manual. Aplicativos complexos, considere o uso de um servidor gracioso, como github.com/grpc-ecosystem/go-r-tring-middleware/server, o que permite o fechamento de recursos diferidos e o desligamento limpo após o recebimento de sinais. Isso é útil para o controle granular sobre o fechamento de recursos. Por exemplo, um canal de fechamento pode ser usado para notificar as goroutinas para liberar recursos antes que o programa sai. A escolha da abordagem apropriada garante uma limpeza adequada e impede vazamentos de recursos.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3