1
darylc 2020 年 10 月 29 日
docker
|
2
DoctorCat 2020 年 10 月 29 日
写个看门狗脚本,例如 kill YourGoService && ./YourGoService 然后 cronjob 定期运行一次
|
3
Maboroshii 2020 年 10 月 29 日 systemd
|
4
meshell 2020 年 10 月 29 日
不可能用 supervisor 吗
|
5
676529483 2020 年 10 月 29 日
虚机起就 systemd,容器就 docker --restart=always
|
6
coderxy 2020 年 10 月 29 日
docker 吧
|
7
wellsc 2020 年 10 月 29 日
systemd
|
8
zunceng 2020 年 10 月 29 日
你的 http 框架最好可以支持 HandleChain 这样可以实现一个 recover 的中间件
func HandleRecover(ctx webFrame.Context) { ctx.Next() if err := recover();err != nil { // print err } } 然后把这个中间件加在 HandleChain 的第一个 就可以了 router.use(HandleRecover) 最简单的 直接用成熟的 http 框架 比如说 gin 自带 recover |
9
dongisking 2020 年 10 月 29 日
最好的还是 systemd 和 docker
|
10
coderxy 2020 年 10 月 29 日
@zunceng 没用的,go 里面开启一个新的协程就得重新捕获,不然整个程序就会 crash 。而且你这个写的也不对,ctx.next()应该放在 recover 后面,而且还有放到 defer 里。不然 ctx.next()先执行,里面有 panic 你的程序就 crash 了
|
11
index90 2020 年 10 月 29 日
用进程守护就不怕中断服务中断吗?
|
13
cheng6563 2020 年 10 月 29 日 via Android
写一个健康检查的接口。
外部用 systemd 或者 docker 之类的进行健康检查。 |
14
SingeeKing PRO service 外面包裹一层自动重启的软件,例如利用 supervisor / pm2 做管理
|
15
SingeeKing PRO 没细看,lz 是不是对 supervisor 有误解,supervisor 只是用 Python 写的,可以管理任何进程而不是只能管理 python 程序
|
16
janxin 2020 年 10 月 29 日
你进程都崩了,很多信息会丢的,你确定这样没问题吗?
|
17
outoftimeerror 2020 年 10 月 29 日
docker+k8s
|
18
freestyle 2020 年 10 月 29 日 via iPhone
golang 版 supervisord,不需要 Python 环境,一个二进制文件加配置文件 https://github.com/ochinchina/supervisord
|
19
ArJun 2020 年 10 月 29 日
docker 最好用
|
21
sunshinev 2020 年 11 月 27 日
supervisored 啊,好使~
|