两种方式;
- 通过systemctl 脚本启动重启hyperf
- 通过 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
Stack trace:
#0 /data/web/website/hyperf-skeleton/vendor/hyperf/amqp/src/AMQPConnection.php(225): PhpAmqpLib\Connection\AbstractConnection->wait_frame()
#1 /data/web/website/hyperf-skeleton/vendor/hyperf/utils/src/Functions.php(274): Hyperf\Amqp\AMQPConnection->Hyperf\Amqp\{closure}()
#2 /data/web/website/hyperf-skeleton/vendor/hyperf/utils/src/Coroutine.php(62): call()
#3 {main}
看了源码好像是因为服务关闭了,导致mq服务端关闭了连接,如何处理?
这个是 WARNING(警告),而非 FATAL/ERROR(异常),如果没影响你的服务正常运行,那就忽略它。