Echo 框架:优雅关闭进程
2023-03-15 23:26:42 时间
介绍
通过一个完整例子,介绍如何优雅关闭 Echo 微服务。
什么是优雅关闭? 在进程收到关闭信号时,我们需要关闭后台运行的逻辑,比如,MySQL 连接等等。
我们将会使用 rk-boot 来启动 Echo 框架微服务。
请访问如下地址获取完整教程:
安装
go get github.com/rookie-ninja/rk-boot
go get github.com/rookie-ninja/rk-echo
快速开始
1.创建 boot.yaml
boot.yaml 文件会告诉 rk-boot 如何启动 Echo 服务。
---
echo:
- name: greeter # Name of grpc entry
port: 8080 # Port of grpc entry
enabled: true # Enable grpc entry
2.创建 main.go
通过 AddShutdownHookFunc() 来添加 shutdownhook 函数。
// Copyright (c) 2021 rookie-ninja
//
// Use of this source code is governed by an Apache-style
// license that can be found in the LICENSE file.
package main
import (
"context"
"fmt"
"github.com/rookie-ninja/rk-boot"
_ "github.com/rookie-ninja/rk-echo/boot"
)
// Application entrance.
func main() {
// Create a new boot instance.
boot := rkboot.NewBoot()
boot.AddShutdownHookFunc("shutdown-hook", func() {
fmt.Println("shutting down")
})
// Bootstrap
boot.Bootstrap(context.Background())
// Wait for shutdown sig
boot.WaitForShutdownSig(context.Background())
}
3.启动 main.go
$ go run main.go
4.ctrl-c
通过 ctrl-c 关闭程序,我们会看到打印如下信息。
shutting down
相关文章
- 继B站崩了后A站也崩了!官方回应:已修复
- 苹果 iOS/iPadOS 14.7 Release Candidate 候选版本发布
- 工信部通报下架48款侵害用户权益APP
- 谷歌为 Android 12 推出游戏仪表盘、3 档游戏模式 API
- 给 iPad 手绘新手的 10 个有用的小贴士
- 想做好UI配色?只需要这三步!
- 为什么微博支持评论,推特却不支持评论?
- iPhone终于支持第三方应用了?iOS 14.7 Beta 5泄露天机
- 支付宝加入长辈模式:字体变大、功能简化
- 支付宝上线长辈模式:字号大且无营销 65岁以上一键直达人工
- 聊聊iOS OC 对象的内存对齐原则
- 用两个案例,分析UI设计师如何避免用户不满与困惑
- 学好这个方法,可以解决80%的Logo设计
- 5G智能手机关键组成技术(一)天线技术
- 支付宝/微信已经很好用,我们为什么还要用数字人民币?
- 上亿人使用的QQ游戏中心,是如何做好宣发设计的?
- 什么时候需要二次确认?我梳理了常见的应用时机和方法
- 数字人民币试点,ATM机也迎来发展机会?能取现数字人民币了
- 安卓/iOS QQ齐升级:青少年模式独立密码
- iOS 15公测版发布,访问测试版站点即可提前尝鲜