У меня есть супервизор с двумя рабочими процессами: TCP-клиент, который обрабатывает подключение к удаленному серверу, и FSM, который обрабатывает протокол подключения.
Обработка ошибок TCP в дочернем процессе значительно усложняет код. Так что я бы предпочел "пусть рухнет", но тут другая проблема: когда сервер недоступен, быстро будет достигнуто максимальное количество рестартов и супервизор рухнет вместе со всем моим приложением, что весьма нежелательно для Это дело.
Я хотел бы иметь стратегию перезапуска с отсрочкой; в противном случае было бы достаточно, если бы супервизор знал, когда он перезапускается из-за сбоя (т.е. если бы он был передан в качестве параметра функции init
). Я нашел эту ветку списка рассылки, но есть ли более официальное/лучше проверенное решение?