Web-приложения так не работают. Обработчик должен максимально быстро возвращать ответ. Для выполнения длительных операций надо запускать фоновые процессы с помощью чего-нибудь типа Celery. Прогресс их выполнение можно было бы отдавать через websocket, но синхронный Flask для этого не подходит. Придётся обойтись поллингом через AJAX.