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

建设集约化网站的进展情况百度推广 网站建设

建设集约化网站的进展情况,百度推广 网站建设,做网站用别人的模板是侵权吗,app定制制作价格文章目录 程序安全退出执行代码的基本:信号拦截执行代码的改进:信号拦截包装器实践捕获键盘输入示例代码go-svc介绍程序及服务的控制是指在计算机系统中对程序和服务进行管理、监控和调控的过程。这个过程可以涉及到多个方面,包括资源管理、运行状态监测、安全性控制等。本质… 文章目录 程序安全退出执行代码的基本:信号拦截执行代码的改进:信号拦截包装器实践捕获键盘输入示例代码 go-svc介绍 程序及服务的控制是指在计算机系统中对程序和服务进行管理、监控和调控的过程。这个过程可以涉及到多个方面,包括资源管理、运行状态监测、安全性控制等。本质上而言就是正确的启动,并可控的停止或退出。在go语言中,其实就是程序安全退出、服务控制两个方面。 程序安全退出 在代码部署后,我们可能因为服务配置发生变化或其他各种原因,需要将服务停止或者重启。通常就是for循环阻塞,运行代码,然后通过control+C或者kill来强制退出。代码如下: //file svc1.go package mainimport ("fmt""time" ) //当接收到Control+c,kill -1,kill -2,kill -9 均无法正常执行defer函数 func main() {fmt.Println("application is begin.")//以下代码不会执行defer fmt.Println("application is end.")for {time.Sleep(time.Second)fmt.Println("application is running.")} }但这种情况下,程序是不会执行defer的代码的,因此无法正确处理结束操作,会丢失一些很关键的日志记录、消息通知,非常不安全的。这时,需要引入一个简单的框架,来执行退出。 执行代码的基本:信号拦截 //file svc2.go package mainimport ("fmt""time""os/signal""os" ) //当接收到Control+c,kill -1,kill -2 的时候,都可以执行执行defer函数 // kill -9依然不会正常退出。 func main() {fmt.Println("application is begin.")//当程序接受到退出信号的时候,将会执行defer fmt.Println("application is end.")//协程启动的匿名函数,模拟业务代码go func(){for {time.Sleep(time.Second)fmt.Println("application is running.")}}()//捕获程序退出信号msgChan:=make(chan os.Signal,1)signal.Notify(msgChan,os.Interrupt,os.Kill)-msgChan }此时,我们实现了程序退出时的信号拦截,补充业务代码就可以了。但实际业务逻辑至少涉及到初始化、业务处理、退出三大块,代码量多了,会显得比较混乱,这就需要规范代码的结构。 执行代码的改进:信号拦截包装器 考虑上述情况,我们将正常的程序定义为: Init: 系统初始化,比如识别操作系统、初始化服务发现Consul、Zookeper的agent、数据库连接池等。 Start:程序主要业务逻辑,包括但不限于数据加载、服务注册、具体业务响应。 Stop: 程序退出时的业务,主要包括内存数据存储、服务注销。 改写之前的代码 //file svc3.go package mainimport ("fmt""time""study1/svc" )type Program struct {}func (p *Program) Start()error {fmt.Println("application is begin.")//必须非阻塞,因此通过协程封装。go func(){for {time.Sleep(time.Second)fmt.Println("application is running.")}}()return nil } func (p *Program)Init()error{
http://www.zqtcl.cn/news/695815/

相关文章:

  • 网站后台被百度蜘蛛抓取哪个做网站比较好
  • 企业建设网站的需求分析百度免费发布信息平台
  • 网站建设交易中心上海装修公司排行榜
  • 桂林论坛网站有哪些在线设计平台用户分析
  • wap网站的开发去加网 wordpress
  • 博客网站建设设计论文总结php mysql做网站登录
  • 海南智能网站建设公司wordpress 如何使用php版本号
  • 河南网站开发培训app 软件开发
  • 购物网站功能介绍一流的高密网站建设
  • 电影网站怎么做优化wordpress 去掉w
  • 永久网站空间标书制作员工资很低吗
  • 做网站用到ps么淘宝优惠网站怎么做
  • jsp 淘宝网站验证码 设计搜索引擎排名
  • pdf怎么做电子书下载网站北京成立公司
  • 网站后台附件无法上传阿克苏建设网站
  • 网站和网址有什么不同佛山狮山网站建设
  • 有免费的微网站是什么可以做长图的网站
  • 南昌手机建站模板18种禁用软件黄app
  • 备案的域名做电影网站wordpress伪静态cdn配置
  • 国家城乡住房建设部网站百度关键词首页排名
  • 安卓软件开发需要学什么软件北京百度推广优化公司
  • 用asp.net 做网站wordpress网址缩短
  • 中国工程建设交易信息网站仿蘑菇街wordpress主题
  • 网站需要怎么做做普通网站公司吗
  • 网站收录平台方法网站建设是不是都需要交费
  • 上海 政务网站建设情况营销模式有哪些 新型
  • 国内做免费视频网站有哪些苏州娱乐场所最新消息
  • 福田建设网站宿迁网站建设案例
  • 建立企业网站的目的和意义人力资源外包收费标准
  • 网站开发前后端分离湘潭seo磐石网络