服务调用失败

KernalEvent::SERVICE_FAIL事件

在框架层,调用servcie时,会抛出KernalEvent::SERVICE_FAIL事件,你可以监听该事件,做数据上报处理,请以异步方式上报

配置config/lister.php中的事件监听器

示例

  1. <?php
  2. namespace src\Web\Listeners;
  3. class ServiceFailListener extends \Listener
  4. {
  5. public function setMethod()
  6. {
  7. return 'onServiceFail';
  8. }
  9. /**
  10. * 服务调用失败事件
  11. * @param \Event
  12. */
  13. public function onServiceFail(\Event $event)
  14. {
  15. //当服务调用失败时,你可以做上报监控平台,邮件通知等等业务。请以异步方式上报
  16. yield $this->dosomething();
  17. yield;
  18. }
  19. }
在框架内部事件中,会做捕捉服务调用失败并做出异常切换。

具体逻辑见Group\Listeners\ServiceFailListener