注意事项

注册你所希望的配置

除了一定要记得配备连接池以外, 异常处理的方式也需要注意是符合你的编程习惯的, Saber默认的异常处理是最主流且严谨的抛出异常, 但Saber也支持静默地使用错误码状态位, 可能更符合很多人的口味.

  1. SaberGM::exceptionReport(0); // 关闭抛出异常报告, 在业务代码之前注册即可全局生效
  2. $saber->exceptionReport(0); //也可以单独设置某个实例

同理, 你所希望的配置都可以在业务代码之前如onWorkerStart甚至是swoole_server启动之前预先配置.

  1. SaberGM::default([
  2. 'exception_report' => 0
  3. 'use_pool' => true
  4. ]);

像这样配置你所期望的选项可以让你获得更好的使用体验!

注意在一次性脚本中释放连接池

  1. go(function(){
  2. // your code with pool...
  3. saber_pool_release(); // and this script will exit
  4. });

如果你在一次性脚本中使用的连接池, 由于协程客户端是存在池中的, 引用计数为1无法释放, 就会导致swoole一直处于事件循环中, 脚本就无法退出, 你需要手动调用saber_pool_releasesaber_exitswoole_event_exit来正常退出, 也可以使用exit强制退出当前脚本(不要在server中使用exit).