CircuitBreaker

熔断注解可为单个方法设定超时时间,以及超时之后的处理方法,例如:

  1. /**
  2. * 设定了超时时间和超时之后的方法,还传输了一个自定义的超时时间用于测试
  3. * @CircuitBreaker(timeout="1.5",failAction="circuitBreakerFail")
  4. * @Param(name="timeout",required="",between={1,5})
  5. */
  6. public function circuitBreaker($timeout)
  7. {
  8. \co::sleep($timeout);
  9. $this->writeJson(200,null,'success call');
  10. }
  11. public function circuitBreakerFail()
  12. {
  13. $this->writeJson(200,null,'this is fail call');
  14. }