Может, рабочий пытается подключиться к базе данных при запуске (всегда) и выдает исключение? У вас есть какие-либо ошибки, зарегистрированные работником?
Вы написали свой рабочий в Rails? Может быть, написать сценарий оболочки, который будет предполагать, что база данных не работает, когда работник не может запустить?
ОБНОВЛЕНИЕ: в вашей трассировке стека есть начальная точка: script/workling_starling_client:17
. Что там, в строке 17?
В первой строке (само сообщение об исключении) говорится, что « real_connect ': не удается подключиться к серверу MySQL в« 10 .223.2.50 »(111) (Mysql :: Error) », затем будет достаточно, если вы поместите строку 17 (возможно, с несколькими другими) в блок «спасения» и проверите сообщение об ошибке, содержит ли оно искомый ответ:
(Конечно, не останавливайтесь на достигнутом. Продолжайте проверку, поскольку отсутствие исключений не означает, что соединение установлено)
begin
line_17_is_here
rescue => e
if e.message =~ /Can't connect to MySQL/
handle_your_no_connection_state
else
raise e
end
end
Вопрос в том, можете ли вы обрабатывать состояние отсутствия соединения без ActiveRecord?