#ruby #activerecord
#ruby #activerecord
Вопрос:
Я пишу скрипт на ruby, который подключается к внешней базе данных, и я пытаюсь написать скрипт повторной попытки, который при отключении (по какой-то богом забытой причине) продолжит попытки подключения либо для определенного количества попыток, либо умрет.
Я знаю, как записать повторяемую часть в мой скрипт, проблема, с которой я сталкиваюсь, заключается в том, что я не могу найти конкретную ошибку подключения в AR … у кого-нибудь есть подсказка по этой части?
Ответ №1:
Как насчет 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
Комментарии:
1. Нет проблем, я рад, что это то, что вы искали.