gin结合endless实现热更新
废话不多说直接上代码
main.go
func main() {r := gin.Default()r.GET("/ping", func(context *gin.Context) {duration, err:= time.ParseDuration(context.Query("duration"))if err != nil{log.Println(err)return}time.Sleep(duration)context.JSON(200,gin.H{"msg":"Hello world " + strconv.Itoa(os.Getpid())} )})endless.ListenAndServe(":8090",r) // 当然也支持https
}
windows下编译 需要设置环境变量为linux否则会报错
编译好后 endlessmain
在Linux 执行 ./endlessmain &
查看pid
修改原来的main文件 friend改成world 重新编译
覆盖 原来的文件 mv newfile endlessmain
测试:
1.打开新的窗口 请求 curl -i http://localhost:8090/ping?duration=30s
2.kill -1 pid 挂起信号 gin日志 15503收到信号 创建子进程15522 等待原来的链接结束
3.请求 curl -i http://localhost:8090/ping?duration=2s 子链接父进程结束 子进程变成父进程
自此 更新完成 过程中能看到两个进程均存在的时刻。
参考:https://www.dazhuanlan.com/diqing/topics/1100673
https://blog.csdn.net/bravezhe/article/details/82629901
https://github.com/facebookarchive/grace
gin结合endless实现热更新相关推荐
- linux进程热更新 go,Golang热更新原理
Linux进程间通信方式 首先,进程之间为什么要进行通信呢?主要有以下应用场景: 数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几兆字节之间. 共享数据:多个进程想要操作共 ...
- 修改html时webpack热更新,webpack学习之路(二)webpack-dev-server实现热更新
上一章对webpack的配置有了简单的认识. 这一章,我需要学习的是webpack热更新,因为在开发过程中,不希望当文件更改时,人肉去编译文件,刷新浏览器. webpack热更新 webpack-de ...
- 苹果禁止使用热更新 iOS开发程序员新转机来临
今天本是女神们的节日,所有iOS程序员沸腾了!原因是苹果爸爸发狠了,部分iOS开发者收到了苹果的这封警告邮件: [图一 苹果邮件] 消息一出,一时间众多开发者众说纷纭,以下是来源于网络的各种看法: 有 ...
- 热更新 FrameWork
工作中遇到想要绕过AppStore直接更新App的要求!这里友情提示下,看了很多资料只是是实现了功能,但在项目中并没有真正用到!资料大多都显示会被拒,这个说的是个人级的,好像企业级的不会这样,仅仅是项 ...
- 用ECMAScript4 ( ActionScript3) 实现Unity的热更新 -- 使用原型链和EventTrigger
原型链是JS的必备,作为ECMAScript4,原型链也是支持的. 特别说明,ActionScript3是支持完整的面向对象继承支持的,原型链只在某些非常特殊的情况下使用. 本文旨在介绍如何使用原型链 ...
- vue 热更新无反应_不吹不黑谈谈 vue 的 SFC 和 template
大家好,好久不贱,我是 132,今天给大家带来一篇关于 SFC 的文章 为什么我曾经不看好 SFC 和 template 过去,我一直不看好 SFC 和 template,甚至因为这个观点,还被很多 ...
- vue热更新失效_vue cli@3项目style标签里面热更新失效的问题
1.首先献上一片webpack的默认配置文档 const path = require('path') module.exports = { publicPath: './', // 基本路径 out ...
- python程序更新实现_Python 软件热更新
Python 软件热更新 本篇文章涉及技术知识如下: Redis threading 多线程 PyQt5 importlib 热更新 场景 咱们在平时运行一些长时间都会一直运行的软件(如:某些云同步软 ...
- IDEA下用freemarker热更新的问题
首先说说freemarker热更新的问题.网上很多博客写的freemarker配置热更新用的属性文件配置 template_update_delay=0 ,但我是写在xml里的,不知道这个应该配置在x ...
- webpack热更新实现
原文地址:webpack热更新实现 webpack,一代版本一代神,代代版本出大神.如果你的webpack和webpack-dev-server版本大于2小于等于3.6,请继续看下去.其它版本就必浪费 ...
最新文章
- android post请求添加公共参数_XHttp2 一个功能强悍的网络请求库
- Binder Driver浅析:Binder线程池
- 堆密度测定的意义_堆密度的测量
- final,finally和finalize的区别
- 怎么回事?在测量时仪器数值不稳
- JAVA——操场跑步路径定位模拟解决方案
- LeetCode 322. 零钱兑换(DP)
- 干货|设计师都收藏的9个实用灵感网站!
- feign 获取请求真实目的ip地址
- 小凡的Python之路——启航
- 软件测试是评价软件质量的标准吗,《软件评测师教程》读书笔记(3)-软件质量与评价(软件测试标准)...
- Windows 11企业版虚拟机镜像官方版下载及安装
- 绿色奖学金申请答辩PPT模板
- 软件资源学生优惠合集
- PowerShell复制粘贴快捷键
- Universal Robot——在Gazebo中模拟UR5机器人
- Qt加载百度离线地图
- PotPlayer播放蓝光片源及如何硬解码和音频源码输出
- Hu不变矩原理及opencv实现
- sketch html尺寸,SketchSize一键生成多尺寸,为何你的设计效率如此之高?