Какое значение имеют параметры конфигурации «retry» и «every» в Dancer2 :: Plugin :: Redis - PullRequest
1 голос
/ 20 февраля 2020

Я использую плагин Dancer2 :: Plugin :: Redis для обработки подключений Redis.
Для обеспечения требуемых параметров конфигурации в документации приводится следующий образец .

plugins:
  Redis:
    # if you use TCP/IP:
    server: "localhost:6379"
    # if you use UNIX/Linux sockets:
    sock: "/path/to/sock"
    # (optional) Redis password used with auth:
    password: "Very secure password 123!"
    # (optional) Reconnect up to 60 seconds (reconnect) every 5000 milliseconds (every):
    reconnect: 60
    every: 5000
    # (optional) Redis connection name (NOT the Redis database ID):
    name: "my_connection_name"
    # (optional) Function called on Redis connect:
    on_connect: "MyDancer2App::redis_on_connect"
    # (optional) Use serialization for storing values other than simple scalars with Redis:

Как параметры reconnect и every работают вместе?
Похоже, соединение будет работать в течение 60 секунд и обновляется каждые 5 секунд c? Если это так, это не имеет никакого смысла.

1 Ответ

3 голосов
/ 20 февраля 2020

С https://metacpan.org/pod/Redis#reconnect, - каждые

Опция reconnect включает режим автоматического переподключения. Если мы не можем подключиться к серверу Redis или не удается выполнить запись по сети, мы переходим в режим повторных попыток. Мы будем пытаться установить новое соединение каждые every микросекунд (1 мс по умолчанию), вплоть до reconnect секунд.

Имейте в виду, что ошибки чтения всегда вызывают исключение и не вызывают повторную попытку до новая команда отправлена.

Если мы не сможем восстановить sh соединение через reconnect секунд, возникнет исключение.

...