Напрашивается очевидное решение с очередью, куда вебапп скидывает задачу, отдельным сервисом, который эту очередь разгребает и кладет результат работы в БД/хранилише/кеш. Вебапп периодически поллит результат, при наличии такового - выводит на страницу.