У меня есть парк работников Backburner (Backburner::Workers::Simple
). Кажется, я столкнулся с крайним случаем, когда работник иногда не может получить соединение с БД, задание снова получает сервер, и вдруг работник разрывается, быстро резервируя рабочие места, все из которых истекает и в конце концов, его похоронят, потому что работник больше никогда не получит соединение с БД. Очевидно, было бы идеально, если бы я мог исправить странности вокруг соединений с БД и быстрого резервирования заданий. Это похоже на долгосрочное решение, потому что я посмотрел и не вижу ничего очевидного. То, что я хотел бы сделать, - это просто обработчик ошибок записать в журнал ошибку, а затем весь рабочий процесс умереть. Все мои работники находятся под наблюдением процессов, так что это очень простой и простой способ получить нового работника без проблем с БД. Я попытался добавить ; Kernel.exit
(и варианты к нему) к моей on_error
лямбде, но, похоже, это не имеет значения. Как мне это сделать?