Redis периодически отключается и снова подключается к Twisted

У меня есть сервер Twisted с постоянным подключением к Redis. Я использую библиотеку https://github.com/fiorix/txredisapi.

Проблема в том, что время от времени Twisted теряет соединение с Redis и вскоре после этого снова подключается. Понятия не имею почему. То же самое происходит как на моей локальной машине, так и на моем онлайн-VPS.

Журнал:

2013-04-12 11:25:34+0200 [RedisProtocol,client] <twisted.internet.tcp.Connector instance at 0xf6c45d4c> will retry in 10 seconds
2013-04-12 11:25:34+0200 [RedisProtocol,client] Stopping factory <lib.txredisapi.txredisapi.RedisFactory instance at 0xf6c45ccc>
2013-04-12 11:25:45+0200 [-] Starting factory <lib.txredisapi.txredisapi.RedisFactory instance at 0xf6c45ccc>
2013-04-12 11:30:47+0200 [RedisProtocol,client] <twisted.internet.tcp.Connector instance at 0xf6c45d4c> will retry in 10 seconds
2013-04-12 11:30:47+0200 [RedisProtocol,client] Stopping factory <lib.txredisapi.txredisapi.RedisFactory instance at 0xf6c45ccc>
2013-04-12 11:30:58+0200 [-] Starting factory <lib.txredisapi.txredisapi.RedisFactory instance at 0xf6c45ccc>
2013-04-12 11:35:59+0200 [RedisProtocol,client] <twisted.internet.tcp.Connector instance at 0xf6c45d4c> will retry in 10 seconds
2013-04-12 11:35:59+0200 [RedisProtocol,client] Stopping factory <lib.txredisapi.txredisapi.RedisFactory instance at 0xf6c45ccc>
2013-04-12 11:36:10+0200 [-] Starting factory <lib.txredisapi.txredisapi.RedisFactory instance at 0xf6c45ccc>
2013-04-12 11:41:12+0200 [RedisProtocol,client] <twisted.internet.tcp.Connector instance at 0xf6c45d4c> will retry in 8 seconds
2013-04-12 11:41:12+0200 [RedisProtocol,client] Stopping factory <lib.txredisapi.txredisapi.RedisFactory instance at 0xf6c45ccc>
2013-04-12 11:41:21+0200 [-] Starting factory <lib.txredisapi.txredisapi.RedisFactory instance at 0xf6c45ccc>

Это происходит весь день и всю ночь, мои журналы быстро становятся большими.

Журнал, когда кто-то подключается, когда Redis отключен:

2013-04-12 12:29:58+0200 [HTTPPageGetter,client] Unhandled error in Deferred:
2013-04-12 12:29:58+0200 [HTTPPageGetter,client] Unhandled Error
Traceback (most recent call last):
Failure: lib.txredisapi.txredisapi.ConnectionError: Not connected
2013-04-12 12:30:03+0200 [-] Starting factory <lib.txredisapi.txredisapi.RedisFactory instance at 0xf6c45ccc>
2013-04-12 12:30:22+0200 [Protocol,20,89.73.182.51] Connection from 89.73.182.51:38635 closed. Code: 1006, Reason: connection was closed uncleanly (peer dropped the TCP connection without previous WebSocket closing handshake)

person Rafał Łużyński    schedule 12.04.2013    source источник


Ответы (1)


Хорошо, я получил ответ от создателя txredisapi. В конфиге есть настройка таймаута, который по умолчанию установлен на 300 секунд. Так просто.

person Rafał Łużyński    schedule 12.04.2013
comment
Не могли бы вы поделиться более подробной информацией? - person blurrcat; 25.06.2013
comment
Автор txredisapi здесь. Изменение на самом деле находится в redis.conf, где вы должны установить время ожидания равным нулю. - person fiorix; 27.05.2014
comment
@fiorix привет, во-первых спасибо за отличную библиотеку. Я получаю ту же проблему даже после установки времени ожидания 0 в моем redis.conf. с использованием последних версий Redis 3.2.8 и txredisapi v1.4.4. - person userx; 08.06.2017