Внешний сервер Oracle собирает некоторую информацию и должен по расписанию отправить данные на FTP сервер в главном офисе - а он, этот FTP сервер, периодически падает. Что делать? Изначально был некий процесс по cron'у, который в час X запускал FTP процесс. Если передача была успешной, отправлялось письмо с отчетом; если соединение с FTP сервером не устанавливалось, то отправлялось письмо с уведомлением об ошибке FTP. Потом стало понятно, что за доступностью FTP сервера стоит следить постоянно, записывать в базу интервалы простоя и, вероятно, отправлять письма о начале и завершении инцидента. Что и было сделано. А еще через некоторое время стало понятно, что разовая попытка отправки данных в течение суток надежной не является: FTP сервер может "лежать" как раз в это время, и письмо об этом прискорбном событии вряд ли может быть достаточным утешением при потере данных за сутки. Нужно было придумать что-то адаптивное. Лобовой подход выглядел примерно так: Масса переделок. Посидели, подум