Hyperf 重启时 AMQP 报错:如何排查并解决 Broken Pipe 异常?
hyperf 重启时 amqp 异常处理
在重启 hyperf 时,可能会遇到 amqp 报出异常的情况。这可能是由于两种重启方式造成的:
- 通过 systemctl 脚本
- 通过 php bin/hyperf server:watcher
异常信息如下:
[WARNING] Recv loop broken. The reason is PhpAmqpLib\Exception\AMQPConnectionClosedException: Broken pipe or closed connection in /data/web/website/hyperf-skeleton/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Connection/AbstractConnection.php:571
这是因为服务关闭导致 mq 服务端关闭了连接。
解决方案:
遇到这个异常后,如果影响了服务的正常运行,可以采取以下措施:
- 重新启动 amqp 服务
- 检查 hyperf 配置文件中的 amqp 设置是否正确
但是,需要注意的是,这个异常通常是 warning(警告)级别的,而非 fatal/error(异常)。这意味着它不会影响服务的正常运行。因此,如果服务未受到影响,可以忽略这个警告。
以上就是Hyperf 重启时 AMQP 报错:如何排查并解决 Broken Pipe 异常?的详细内容,更多请关注其它相关文章!