【问题标题】:resque redis socket timeoutresque redis 套接字超时
【发布时间】:2012-04-01 16:42:15
【问题描述】:

我在 EC2 集群上运行 resque。我有大约 10 个工作人员在 2 个大型实例上运行,另一个大型实例运行 redis 本身,但是每 3 分钟,resque 工作人员就会因为与 redis 的套接字连接超时而被杀死。

以前有人遇到过这个问题吗?

【问题讨论】:

  • 嗨,你能解决这个问题吗?我看到了同样的问题。任何指针表示赞赏!

标签: ruby amazon-ec2 redis resque


【解决方案1】:

也许您想在 redis.conf 中设置您的timeout=0,这样您的服务器将允许您的客户端无限期地空闲。默认值为 300 秒(五分钟)。

另一种选择是让您的客户每隔几分钟发出一次 Redis PING 命令(响应应该是字符串“PONG”)。我看不到 Resque 有任何选项可以为您提供这种保持活动状态(尽管我确实看到了对 keepalive patch for Resque 的引用。

(如果我正在实现类似 Resque 的东西,我会使用 BLPOP 或 BRPOP 或 BRPOPLPUSH 中的任何一个和一个非零超时选项来支持类似于 select() 的东西,比如轮询。因此应用程序每分钟左右唤醒一次即使队列空闲来做一些家务(包括运行“PING”)。

【讨论】:

    猜你喜欢
    • 2015-12-29
    • 2017-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-25
    相关资源
    最近更新 更多