thunks/thunk-redis

既然要讨论,就讨论到底,不要不清不楚,不明不白

xxxman2008 opened this issue · 10 comments

1、关于 maxAttempts 的 问题 :

maxAttempts  ,是否 能 起到作用,如果设置 maxAttempts  为0  ,会不会 禁止 代码 reconnect ??
会,还是不会 ????

2、如果一开始连接就没有 建立成功 。。。代码会不会永不停息的 reconnect???会,还是不会??。。可以参考下面的代码回答。。。
if (++this.attempts <= options.maxAttempts) {
this.rescuePending()
this.retryDelay *= 1.2
if (this.retryDelay >= options.retryMaxDelay) {
this.retryDelay = options.retryMaxDelay
}

setTimeout(function () {
  debugSocket('socket reconnecting, %s', ctx.id)
  ctx.connect()
  ctx.redis.emit('reconnecting', {
    delay: ctx.retryDelay,
    attempts: ctx.attempts
  })
}, this.retryDelay)

} else {
this.tryRemove(new Error(this.id + ' reconnecting failed'), true)
}

另外 ,++this.attempts <= options.maxAttempts 本意是判断 是否达到 maxAttempts 的限制。。。OK ,如果达到了 ,那么这是一个程序的 正常 behaviour 。。。作者居然抛 Error ????? 一个 正常的 ,符合设计目标的行为。。要抛Error???

不断的 抛ERROR 。。这是 一个正常设计????

本人可以对自己的测试负完全责任。

5分钟,只测试了5分钟。。。还抓到一个 对数组[0] 元素 的 空对象操作的 错误 。。。具体的 我已经 记不清楚了。。

我很希望是我 对代码的不理解,不了解导致的问题。。但是,从后续对代码的粗略浏览的结果来看。。不是我不理解,而是作者根本就没有细致的 容错/异常处理。

希望作者能 诚实的,像个男人的 回答 我上面的 问题 ,不要扯那么多解释,只需要 回答 ”会 还是 不会“ 。

我试过的是 ” 我首先连接一个远程的已经关闭的redis“,也就是说 ,在一开始,连接就不会建立成功 。。。在现实里面 。。可能这个时候 服务器正在重启 。或者是其他情况 。。。请告诉我 ,你有没有 考虑过这种情况 。。。回答yes or no 就可以了。。如果没有考虑过 。。还谈什么 ”对异常的管理,大概是写 JS 程序最大的心得“。

zensh commented

抱歉工作忙啊,等晚上回家了我看看。只是小伙子你真的太没礼貌了。

呵呵,因为现在的程序员 都 太垃圾了。。见到的 ”不愿意接受批评“ 的 程序员太多。。对于这种程序员,不需要礼貌

zensh commented

我还是建议你用 ioredis 吧

zensh commented

我看到你在 ioredis 上的英文 issue 彬彬有礼,ioredis 是前阿里同学开发的,微博是 http://weibo.com/luinlee

有空 回答一下 我上面 的问题。。

至于 其他几个 无法理解为什么要 有 connection pool 的 。我就懒得教训他们了。。基础太弱。用前端的思维去 理解后端,呵呵,醉了。。

zensh commented

看不懂你的问题哈,抱歉

zensh commented

我觉得你自己写一个 redis 客户端用更合适

大牛放过我们前端小白吧。