首页 > 解决方案 > 当我叫火时,负鼠没有重试

问题描述

我有这个代码

  async connection(c: DependencyContainer): Promise<Connection|undefined> {
      const breaker = new CircuitBreaker((uri: string) => {
        return connect(uri)
      });
      breaker.on('failure', (err) => {
        c.resolve<Logger>(InjectToken.Logger).warn('amqp ', err);
      });
      return await breaker.fire(c.resolve<string>(InjectToken.AmqpUri));
  }

我看到它被调用一次,并且failure被调用,在运行它时不可能成功,因为我指向的服务器(localhost)不在线。我究竟做错了什么?

标签: javascripttypescriptcircuit-breaker

解决方案


这不是我问题的真正答案,但我的解决方案是切换到cockatiel,这似乎很新,但效果很好,而且 api 很容易使用。


推荐阅读