如题,各位大佬有没有什么好的方式去监控假死的程序呢?
1
askfilm 2018-11-14 17:48:36 +08:00
定时重启
|
2
OMGZui 2018-11-14 17:52:37 +08:00
定时重启+supervisor 监控
|
5
cloverstd 2018-11-14 17:58:30 +08:00
健康检查
|
7
skymei 2018-11-14 18:28:29 +08:00
如果这种持续运行的消费者,生产者模式,我觉得还是搞清楚为什么假死比较好..,监控手段肯定有一点延迟
|
8
Exceptions 2018-11-14 18:32:47 +08:00
可以做个心跳包
|
9
x66 2018-11-14 18:37:01 +08:00 via iPhone
多部署几份,如果全挂了就找原因吧。
|
10
anyele 2018-11-14 18:44:45 +08:00 via Android
先找为什么会死
|
11
via 2018-11-14 18:53:19 +08:00 via iPhone
楼主可以参考一下 laravel 的 shedule,或者使用 supervisor 等 pm 工具
|
12
lujiajing1126 2018-11-14 19:05:26 +08:00
为什么不是找到假死的原因
|
13
zakokun 2018-11-14 19:06:52 +08:00
不可能莫名其妙就 i 假死的,要确认具体原因
|
14
pandanrain 2018-11-14 20:31:12 +08:00
|
15
visonme 2018-11-14 20:39:07 +08:00
前面都提到了,定时重启,健康检查(模拟网络通信中心跳包方式来处理)
但是最好的方式还是先假设下可能假死的原因,然后针对各种原因去做方案吧 |
16
0xff0x77 2018-11-14 21:10:42 +08:00
一般一个程序,是不可能无缘无故假死的,楼主可能是 windows 程序用多了,得到了假死这个概念。
假死一定要找到原因,如果是内存溢出,不会找调用栈的话,考虑定时重启,当然治标不治本。 |
17
Joyboo 2018-11-15 10:37:51 +08:00
我们目前是运维做了一个监控警报,监控那几个进程,挂掉了就电话邮件微信报警,然后每天凌晨定时重启
|
18
geligaoli 2018-11-15 10:53:55 +08:00
php 长期运行,几乎肯定会死的。我都是每次运行玩一批任务就退出,在 shell 脚本中循环调用。
|