hyperf 重启时 amqp 出现警告的解决方法
在重启 hyperf 时,如果遇到 amqp 异常,类似于下文的警告信息:
[warning] recv loop broken. the reason is phpamqplibexceptionamqpconnectionclosedexception: broken pipe or closed connection
此警告表明 amqp 连接已关闭。在 hyperf 中,这通常是因为服务已关闭,导致 mq 服务器关闭了连接。
解决方法:
尽管警告中显示为异常,但实际上它只是一个警告,不会影响服务正常运行。因此,以下提供两种处理方法:
'pool' => [ 'connections' => 1, 'max_retries' => 3, 'retry_interval' => 1000, // 单位:毫秒 ],
上述配置将在连接断开后重试连接 3 次,每次重试间隔 1 秒。通过设置这些选项,您可以在 hyperf 重启时自动重新建立 amqp 连接。