注意事项
注册你所希望的配置
除了一定要记得配备连接池以外, 异常处理的方式也需要注意是符合你的编程习惯的, Saber
默认的异常处理是最主流且严谨的抛出异常
, 但Saber
也支持静默地使用错误码
和状态位
, 可能更符合很多人的口味.
SaberGM::exceptionReport(0); // 关闭抛出异常报告, 在业务代码之前注册即可全局生效
$saber->exceptionReport(0); //也可以单独设置某个实例
同理, 你所希望的配置都可以在业务代码之前如onWorkerStart
甚至是swoole_server
启动之前预先配置.
SaberGM::default([
'exception_report' => 0
'use_pool' => true
]);
像这样配置你所期望的选项可以让你获得更好的使用体验!
注意在一次性脚本中释放连接池
go(function(){
// your code with pool...
saber_pool_release(); // and this script will exit
});
如果你在一次性脚本中使用的连接池, 由于协程客户端是存在池中的, 引用计数为1无法释放, 就会导致swoole一直处于事件循环中, 脚本就无法退出, 你需要手动调用saber_pool_release
或saber_exit
或swoole_event_exit
来正常退出, 也可以使用exit强制退出当前脚本(不要在server中使用exit).