如题,比如我开启了 8 个子进程去循环读取一个队列,然后因为某些异常导致有 4 个进程挂掉了,这样我读取队列的速度就慢了一半,可能导致队列积压。 所以有没有比较合适的方式来将进程恢复到 8 个,或者对这种业务场景有什么更好的解决方案么?
1
joyme 2018-11-12 17:02:46 +08:00 1
主进程需要对子进程的退出信号 SIGCHLD 做处理,这里可以使用 pcntl_signal。然后收到子进程退出信号后,重新开进程。
其实也可以不开多进程,使用 supervisor 启动 php 脚本,用 supervisor 来帮你重启。这样最简单了 |