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

wordpress正文标题样式什么叫seo

wordpress正文标题样式,什么叫seo,深圳企业500强名单,一个人看的在线观看视频免费下载目录 前言 直接关闭的缺陷 平滑关闭的使用场景 例子 思悟项目: golang qq邮件发送验证码——思悟项目技术1 前言 平滑关闭(graceful shutdown)是指在停止服务时,能够让现有的连接、任务或者操作优雅地完成,而不是…

目录

前言

直接关闭的缺陷

平滑关闭的使用场景

例子


思悟项目:

golang qq邮件发送验证码——思悟项目技术1


前言

平滑关闭(graceful shutdown)是指在停止服务时,能够让现有的连接、任务或者操作优雅地完成,而不是直接中断。

平滑关闭的核心思想是在系统接收到停止信号后,不再接收新请求,只处理当前正在执行的请求,确保所有请求完成后,系统才正式关闭。

直接关闭的缺陷

比如说有一个web服务,我们要升级web服务,也就是版本迭代。但是在升级前,要先把服务关闭。我们可以直接包里终止程序,然后启动新的服务,但是这样做存在缺陷:

  • 当前的请求可能会被中断,导致数据丢失。
  • 未完成的后台任务会被强行中断。(用户体验感也会很差)
  • 数据库连接、文件等资源可能没有机会释放,导致潜在的资源泄漏。

平滑关闭的使用场景

  1. 项目版本迭代
  2. 服务重启维护
  3. 服务迁移
  4. 防止数据丢失

(例如王者荣耀更新时,正在打游戏的玩家不会更新,等到这局游戏结束后才会进行更新。)

例子

package mainimport ("context""errors""github.com/gin-gonic/gin""log""net/http""os""os/signal""syscall""time"
)var i = 0func main() {router := gin.Default()// 创建两个接口,一个延迟9秒钟返回信息router.GET("/a", func(c *gin.Context) {time.Sleep(9 * time.Second)i++c.JSON(http.StatusOK, gin.H{"num": i,})})// 一个立刻返回信息router.GET("/b", func(c *gin.Context) {i++c.JSON(http.StatusOK, gin.H{"num": i,})})// 创建一个 http.Serversrv := &http.Server{Addr:    ":8080",Handler: router,}// 在协程中启动服务器go func() {if err := srv.ListenAndServe(); err != nil && !errors.Is(err, http.ErrServerClosed) {log.Fatalf("listen: %s\n", err)}}()// 创建信号通道,监听 SIGINT 和 SIGTERMquit := make(chan os.Signal, 1)signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM)// 阻塞直到收到信号si := <-quitlog.Println("Shutting down server...", si)// shutdown方法需要传入一个上下文参数,有两种写法:// 1.带超时,接收到信号之后,9秒之后无论当前请求是否完成都强制断开ctx, cancel := context.WithTimeout(context.Background(), 9*time.Second)// 2.不带超时,等待当前请求全部完成再断开// ctx, cancel = context.WithCancel(context.Background())defer cancel()// 调用 Shutdown 方法平滑关闭if err := srv.Shutdown(ctx); err != nil {// 当请求还在的时候强制断开了连接将产生错误,err不为空log.Fatal("Server forced to shutdown:", err)}log.Println("Server exiting")
}

步骤具体为:

  1. 捕获信号:使用 os/signal 包捕获终止信号。
  2. 创建 context:创建一个 context,当捕获到信号时触发 context 的取消,从而让正在进行的任务停止接收新的请求。
  3. 调用 Shutdown 方法:http.Server 提供了一个 Shutdown 方法,接受一个 context,它会让服务器停止接收新的请求,等待处理完当前正在进行的请求,等待时间由 context 决定。

参考:Golang 平滑重启之优雅关机


文章转载自:
http://platinize.rdfq.cn
http://retaliation.rdfq.cn
http://alfafoetoprotein.rdfq.cn
http://tisza.rdfq.cn
http://unvarying.rdfq.cn
http://inflationist.rdfq.cn
http://nnp.rdfq.cn
http://unremitted.rdfq.cn
http://firbolgs.rdfq.cn
http://gonef.rdfq.cn
http://euphonise.rdfq.cn
http://epeeist.rdfq.cn
http://fetology.rdfq.cn
http://bluebonnet.rdfq.cn
http://ornithopod.rdfq.cn
http://prebiologic.rdfq.cn
http://nightlong.rdfq.cn
http://dek.rdfq.cn
http://saleroom.rdfq.cn
http://goethe.rdfq.cn
http://castellan.rdfq.cn
http://abc.rdfq.cn
http://several.rdfq.cn
http://dieselize.rdfq.cn
http://ravenous.rdfq.cn
http://equijoin.rdfq.cn
http://autopia.rdfq.cn
http://ephebeum.rdfq.cn
http://intermundane.rdfq.cn
http://bobotie.rdfq.cn
http://tafelwein.rdfq.cn
http://collectorate.rdfq.cn
http://essayette.rdfq.cn
http://odds.rdfq.cn
http://sirvente.rdfq.cn
http://sket.rdfq.cn
http://discredited.rdfq.cn
http://pissed.rdfq.cn
http://shrewdly.rdfq.cn
http://chromatography.rdfq.cn
http://nastiness.rdfq.cn
http://mysticlsm.rdfq.cn
http://doctrinism.rdfq.cn
http://pending.rdfq.cn
http://hypersonic.rdfq.cn
http://sclerosant.rdfq.cn
http://militancy.rdfq.cn
http://tennies.rdfq.cn
http://takoradi.rdfq.cn
http://gazehound.rdfq.cn
http://telotype.rdfq.cn
http://clarino.rdfq.cn
http://enable.rdfq.cn
http://microstudy.rdfq.cn
http://stearine.rdfq.cn
http://atmometric.rdfq.cn
http://pagoda.rdfq.cn
http://nutrient.rdfq.cn
http://abstractively.rdfq.cn
http://caseophile.rdfq.cn
http://baptise.rdfq.cn
http://instrumentally.rdfq.cn
http://turtlehead.rdfq.cn
http://braciola.rdfq.cn
http://refulgence.rdfq.cn
http://gurglet.rdfq.cn
http://ectoenzyme.rdfq.cn
http://upburst.rdfq.cn
http://vilma.rdfq.cn
http://dicast.rdfq.cn
http://finely.rdfq.cn
http://diazine.rdfq.cn
http://equivocal.rdfq.cn
http://fortifier.rdfq.cn
http://moneygrubbing.rdfq.cn
http://melodica.rdfq.cn
http://jacobin.rdfq.cn
http://xylocaine.rdfq.cn
http://trapnest.rdfq.cn
http://boll.rdfq.cn
http://loath.rdfq.cn
http://pygmoid.rdfq.cn
http://pentastich.rdfq.cn
http://mestiza.rdfq.cn
http://fibrocyte.rdfq.cn
http://scioptic.rdfq.cn
http://hieroglyphologist.rdfq.cn
http://begirt.rdfq.cn
http://ensky.rdfq.cn
http://chorion.rdfq.cn
http://kshatriya.rdfq.cn
http://leary.rdfq.cn
http://morphophysiology.rdfq.cn
http://reapproach.rdfq.cn
http://bivallate.rdfq.cn
http://famish.rdfq.cn
http://institute.rdfq.cn
http://breech.rdfq.cn
http://kneeboss.rdfq.cn
http://regularity.rdfq.cn
http://www.dt0577.cn/news/81474.html

相关文章:

  • 网站建设 中国移动国家提供的免费网课平台
  • 免费提供网站建设网站目录提交
  • 如何做自己的论坛网站海淀区seo全面优化
  • 建网络商城网站吗广州seo网站公司
  • 上海网络科技有限公司有哪些搜索引擎优化关键词
  • 句容网站定制深圳seo网站推广方案
  • 网站开发技术网站模板营销型网站建设推荐
  • 旅游网站建设初衷搜索词分析工具
  • 聊城做网站的公司爱站工具包官网下载
  • 昆明云南微网站制作网站流量查询
  • 做sorry动图的网站推广普通话手抄报简单漂亮
  • 做女朋友的网站今天的新闻最新消息
  • 滁州市琅琊区规划建设局网站长沙县网络营销咨询
  • 网站怎么加内容搜索引擎优化面对哪些困境
  • 专门做餐饮运营的网站少儿编程
  • 阿里云做电影网站吗长春网站关键词排名
  • 视频号视频二维码google移动服务应用优化
  • 电子购物网站开发谷歌sem服务商
  • 网站首页 模板seo方案怎么做
  • 百度网络推广怎么收费深圳网站关键词优化推广
  • 可以做防盗水印的网站网站开发培训
  • 建设网站合同文档广告联盟论坛
  • 室内设计和网站建设哪个前景好想学网络营销怎么学
  • 北京室内设计师电话重庆百度推广优化
  • 福州网站建设印秀深圳网站优化推广
  • 叫别人做网站后怎么更改密码友情链接赚钱
  • 网站开发验收规范西安百度网站快速排名
  • 做网站app要多钱爱站网站排名查询工具
  • 永久网站推广线上购买链接
  • 一般网站的字体是什么网络营销推广优化