Ruby ActiveRecord Retryable - PullRequest
1 голос
/ 02 мая 2011

Я пишу сценарий ruby, который подключается к внешней базе данных, и пытаюсь написать сценарий повторов, который при отключении (по какой-то неоправданной причине) продолжит попытки подключения для определенного числа попыток или умрет .

Я знаю, как записать повторяющуюся часть в мой скрипт, проблема, с которой я сталкиваюсь, заключается в том, что я не могу найти конкретную ошибку соединения в AR ... У кого-нибудь есть подсказка по этой части?

1 Ответ

2 голосов
/ 02 мая 2011

Как насчет ошибки ConnectionNotEstablished?

  # Raised when connection to the database could not been established 
  # (for example when <tt>connection=</tt>
  # is given a nil object).
  class ConnectionNotEstablished < ActiveRecordError
  end

Вы будете знать, что база данных была отключена, если эта ошибка появляется на ровном месте, когда вы выполняете какую-то команду для базы данных (оператор select и т. Д.).).Оттуда вы можете повторить попытку подключения (и выполнить инструкцию) указанное количество раз.

Я нашел эту ошибку ActiveRecord здесь:

https://github.com/rails/rails/blob/master/activerecord/lib/active_record/errors.rb

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...