先上代码:(没用框架,全部原生)
`script.php`:
reqiure_once('path/to/HandleClass.php');
function run(){
//省略取值逻辑。。。
if(A==B) {
// HandleClass里每次都会重新建立DB连接,并及时释放
new HandleClass();
}
}
while(true){
run();
sleep(600);
}
使用的是`supervisor`的守护进程功能, 它确实可以保证进程在,并且保证进程退出后自动重启。
出现问题:
脚本大概半个月、一个月左右就会出现进程在, 却不干事了。
查资料说可能是变量、 DB等资源长时间就被释放了,但我觉得sleep(600)之后,重新run(), 又是全新的一次执行,并不存在因为被释放资源导致的挂起(乃最大疑惑)。
请教:
以上进程挂起到底可能是什么原因, 困扰很久了。。。
请只针对这种情况, 直接一句换crontab 等回答就免抬贵手了 :-)
- 3 回答
- 0 关注
- 351 浏览
添加回答
举报
0/150
提交
取消