Hyperf 重启时 AMQP 报错:如何排查并解决 Broken Pipe 异常?

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 异常?的详细内容,更多请关注其它相关文章!