当前位置: 首页 > news >正文

网站优化外包推荐衡水企业做网站多少钱

网站优化外包推荐,衡水企业做网站多少钱,优秀营销软文范例500字,怎么做展示网站作用:程序结束的时候可能需要一定的时间去处理,比如mysql连接,rediss处理等,这个时候我们可以通过特定系统信号来通知go程序,go程序这边会监听覆盖这些系统信号,使得go程序可以自己控制关闭时间。 核心代码…

作用:程序结束的时候可能需要一定的时间去处理,比如mysql连接,rediss处理等,这个时候我们可以通过特定系统信号来通知go程序,go程序这边会监听覆盖这些系统信号,使得go程序可以自己控制关闭时间。
核心代码

quit := make(chan os.Signal, 1)	// 创建一个系统信号chan
signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM)	// 注册信号
<-quit // 阻塞,直到收到信号

实现代码 main.go:

package mainimport ("context""log""net/http""os""os/signal""syscall""time"
)func main() {// 创建一个自定义的 ServerMux 和 Servermux := http.NewServeMux()mux.HandleFunc("/slow", func(w http.ResponseWriter, r *http.Request) {time.Sleep(5 * time.Second) // 模拟一个长请求w.Write([]byte("All done!\n"))})srv := &http.Server{Addr:    ":8081",Handler: mux,}// 在一个单独的 goroutine 中启动服务器go func() {if err := srv.ListenAndServe(); err != nil && err != http.ErrServerClosed {log.Fatalf("ListenAndServe error: %v", err)}log.Println("Server stopped")}()// 创建一个通道来接收操作系统信号quit := make(chan os.Signal, 1)// 监听 SIGINT (Ctrl+C) 和 SIGTERM (docker stop, k8s termination)signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM)<-quit // 阻塞,直到收到信号log.Println("Shutting down server...")// 创建一个具有超时的上下文,用于优雅关机// 给正在处理的请求 10 秒时间来完成ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)defer cancel()// 开始优雅关机:停止接受新请求,阻塞直到所有现有请求处理完毕或超时if err := srv.Shutdown(ctx); err != nil {log.Fatalf("Server forced to shutdown: %v", err)}// 此处可以安全地关闭数据库、缓存等连接// db.Close()// redisConn.Close()log.Println("Server exited gracefully")
}

执行:

go run main.go		// go test 会直接关闭,似乎没有正确覆盖。

执行成功后,访问:
127.0.0.1:8081
然后用ctrl+C快速关闭执行的程序,就会得到打印:
在这里插入图片描述

ps:如果不监听信号syscall.SIGINT直接ctrl+C,会得到:
在这里插入图片描述
常见系统信号:
不可捕抓信号:
SIGKILL(9) 强制关闭 对应Linux命令: kill -9 pid
SIGSTOP(19)强制暂停 对应Linux命令: kill -19 pid
SIGCONT(18) 恢复会暂停的进程(包括 SIGSTOP和SIGSTP)
可捕信号:
SIGINT 关闭程序 对应linux命令 ctrl+C
SIGTERM 关闭终端 对应linux命令 kill pid
SIGUSR1 自定义信号 对应linux 命令 kill -10 pid
SIGQUIT 终止并生成 core dump 对应linux命令 kill -3 pid 或者 ctrl +
SIGSTP 终端暂停 对应Linux命令: kill -20 pid 或者 ctrl +z(这个会放入后台)

http://www.dtcms.com/a/415734.html

相关文章:

  • 有哪些网站程序重庆网站建设的意义
  • Android开发-应用广播
  • AI 算力加速指南:Figma AI/Canva AI 全场景优化,从 “闪退卡顿” 到 “流畅创作”(一)
  • C++/C#游戏开发引擎和2D/3D图形库
  • 企业网站建设课件商业招商网站
  • 上海网站建设sheji021抖音代运营多少钱
  • 快递网站模版建网站公司汽车六万公里是否累变速箱油
  • 搭建了虚拟局域网,飞牛NAS的防火墙还需要开吗?
  • 中小学网站建设探讨海外网络推广外包
  • 安徽网站设计流程xp系统没有lls组件可以做网站吗
  • Mac中XXX将对您的电脑造成伤害, 您应该将它移到废纸篓
  • 广州市做网站公司品牌展柜设计制作
  • 计算机视觉进阶教学之dlib库(二)
  • 石家庄网站制作方案衡阳seo排名
  • 网站推广怎么做关键词网站抓取诊断
  • 牛客算法基础noob54 斗兽棋
  • 网站上传文件 ftpwordpress cdn系统
  • 企业介绍微网站怎么做淄博网站排名优化
  • 多相DDC数据FIR抽取滤波实例
  • 免费制作网站服务器网页做网站的尺寸
  • Strassen算法详解实现
  • 【看房清单】
  • 使用Python的Pillow库将JPG图片转换为PNG格式
  • 如何制作自己的网站模版wordpress文件夹改名
  • 五年健康守护日 IP沉淀,顶固让品质与温度穿越行业周期
  • 网站建设费用构成为什么百度地图嵌入网站不显示
  • 【ROS2学习笔记】节点篇:用python编写一个节点
  • MySQL优化器统计信息配置指南
  • 基于 SciPy 的矩阵运算与线性代数应用详解
  • 网站站点结构的构建yusi主题wordpress