Отображение выполнения процесса с неизвестным общим временем
Наверняка есть натоптанные тропы решения подобных вопросов, найти блок-схему или пояснений не могу. Своя реализация, которая крутится в голове, кажется мрачной и неудобной(предварительно считая на бумаге максимальное количество и в ходе выполнения отнимать пройденные "участки").
А ситуация такая: существует класс с парой десятков методов. Выполнение этих методов затрагивает обращение к серверу через API. Теперь у меня появляются в работе функции, которые вызывают эти методы в разном количестве и порядке. Если функция в ходе видит проблемы выполнения, то запускаем заново некоторые методы или добавляем новые. Для наглядности и понимания пусть это выглядит как некая рекурсивная функция с Кейсами. Конечно же, чтобы не уйти в вечную петлю, в итоге есть выходы - "количество попыток", успешное выполнение или исключительная ситуация. Но в любом случае я не могу предварительно рассчитать ни общее время выполнения, ни количество методов для выполнения ну и т.д.
Как же разрешить задачу?
|