Вот моя ситуация: я разрабатываю веб-приложение с использованием фреймворка Dancer, и я хотел бы вставить некоторые данные в базу данных на стороне сервера со стороны браузера. Проблема в том, что когда данных слишком много, загрузка занимает так много времени, что я рассматриваю возможность отображения индикатора выполнения, описывающего прогресс.
Я реализовал это, отправив два запроса: один для публикации данных, а другой опрос статуса. Но кажется, что после обработки первых запросов другие не будут работать, пока не завершится первый. Так статус ничего не возвращает и вдруг 100%. Чтобы справиться с этим, я создаю поток при обработке первых запросов, чтобы основной поток мог вернуться для обработки вторых запросов опроса. Это работает довольно хорошо, пока мне не придется убить некоторый дочерний прогресс, порожденный в дочернем потоке (это еще один вопрос).
Итак, мой вопрос: есть ли какие-либо другие идеи об одновременной обработке нескольких запросов, кроме многопоточного? Как обычно веб-программисты справляются с этой ситуацией?