antirez / antirez/redlock-rb

Is it desired behavior to sleep, even after the last retry in the lock function?

未关闭
#7 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Ruby
星标
213
派生
24
PR 合并指标
30 天内没有已合并 PR

描述

If a lock was _not_ obtained in the lock function, is it desired behavior to sleep (in line 80), even after the last retry?
I think that the last retry's sleep will be a waste of time, if the lock was not obtained.
https://github.com/antirez/redlock-rb/blob/97be08b307eaad7f9b23db41e8def691ea41a342/redlock.rb#L55-L57
https://github.com/antirez/redlock-rb/blob/97be08b307eaad7f9b23db41e8def691ea41a342/redlock.rb#L79-L81

If my argument holds, how about:
```
for i in 0..(retry_count-1)

# The major part of the lock function goes here.

# Don't sleep if it's the last retry.
if (i != retry_count-1)
# Wait a random part of retry_delay, before retrying.
sleep(rand(@retry_delay).to_f/1000)
end
end
```

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。