gpt4 book ai didi

ruby-on-rails - 转移到 VPC 后,blpop 阻塞的时间比 Rails 进程中的超时时间长得多

转载 作者:可可西里 更新时间:2023-11-01 11:20:34 28 4
gpt4 key购买 nike

我的超时时间为 3 秒,预计 blpop 最多只会挂起 3 秒,但我的 Rails 进程随机挂起的时间比这更长,有时长达 500 秒。

挂起的代码是:

  ...
if timeout # equals 3
# blocking mode
queue.redis.blpop(*slot_keys, timeout)
else
...

我使用的是 redis gem,版本 3.0.4。关于如何调试这个的任何建议?

附带说明一下,在我们将流程移至 Amazon 的 VPC 后,这个问题开始出现。

最佳答案

虽然没有记录,但您等待时间超过所需时间的原因是您没有正确传递阻塞超时。

正确的方法调用:


queue.redis.blpop(*slot_keys, timeout: 超时)

(来源:https://github.com/redis/redis-rb/blob/29653bbc1e9d8ab6090107eacb2fde4d4a6af1aa/lib/redis.rb#L1144)

关于ruby-on-rails - 转移到 VPC 后,blpop 阻塞的时间比 Rails 进程中的超时时间长得多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36367456/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com