Возможно, вы хотите установить timeout=0
в свой redis.conf, чтобы ваши серверы позволяли вашим клиентам оставаться без дела на неопределенный срок. Значение по умолчанию - 300 секунд (пять минут).
Другим вариантом было бы организовать, чтобы ваши клиенты выдавали команду Redis PING каждые пару минут (ответ должен быть строкой «PONG»). Я не вижу возможности для Resque, чтобы обеспечить такую поддержку для вас (хотя я вижу ссылки на keepalive patch for Resque.
(Если бы я реализовал что-то вроде Resque, я использовал бы любой из BLPOP или BRPOP или BRPOPLPUSH с опцией ненулевого тайм-аута для поддержки чего-то похожего на select()
, как и опрос. Таким образом, приложение просыпается каждую минуту или около того, даже если очередь (-ы) не работает, чтобы выполнить некоторую работу (включая запуск «PING»).
Привет, Вы могли решить эту проблему? Я вижу ту же проблему. Любые указатели приветствуются! – d33pika