【问题标题】:When does Resque open a redis connection?Resque 什么时候打开一个 redis 连接?
【发布时间】:2015-07-23 17:25:16
【问题描述】:

我在 Heroku 上遇到了Redis::TimeoutError: Connection timed out 错误,我正在尝试解决问题。我只是使用Resque连接redis,所以想知道Resque是如何连接redis的:

  1. Resque 什么时候连接到 redis?工人何时启动?
  2. redis 连接通常持续多长时间?

我不清楚何时建立连接以及它们持续多长时间。任何人都可以为我阐明这一点吗?谢谢!

【问题讨论】:

    标签: ruby-on-rails-3 heroku redis resque


    【解决方案1】:

    当第一次使用连接时,通常会延迟建立从 Rails 应用程序到 Redis 的连接。对于故障排除,有时通过在初始化程序代码中添加 Redis PING (http://redis.io/commands/ping) 来强制连接很有用。

    一旦建立连接,它将永远保持。如果连接断开,下次使用时会尝试重新连接。

    另外,请注意,截至 2015 年初,Heroku 在与 AWS 上的 Redis 实例建立连接时一直存在问题,因为连接有时会超时。 Heroku 支持人员意识到了这一点,因此您可以向他们寻求帮助。

    【讨论】:

    • OP 还可以从 CLIENT LIST Redis 命令中找到额外的帮助,特别是如果 Resque 使用 CLIENT SETNAME 来为连接设置名称。如果 Resque 不这样做,PR 将是添加此支持的好方法,因为它微不足道但很有用。
    猜你喜欢
    • 1970-01-01
    • 2012-02-28
    • 1970-01-01
    • 2013-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多