Сколько времени занимают эти расчеты / процессы?Пользователю нужно , чтобы дождаться его завершения, или он может делать другие вещи на сайте, ожидая?
Возможно, это не то, что вы ищете, ноальтернативный подход - запускать вычисления в отдельном потоке (или даже в отдельном приложении) на сервере.Вы бы предоставили пользователю сообщение о том, что его вычисления были поставлены в очередь для обработки и начнутся в ближайшее время.
Пользователь может проверить, когда это будет сделано, или даже иметь какую-то систему уведомлений наsire (представьте маленькую красную заметку «у вас есть новое сообщение» на Facebook или похожую функцию), которая сообщает им, когда это будет сделано, и предоставляет пользователю ссылку для просмотра результатов.Уведомитель может легко выполнить некоторые фоновые опросы через AJAX, чтобы проверять результаты каждые несколько минут.
Если масштабирование будет проблемой для этого приложения, вы можете захотеть рассмотреть такой подход.«Онлайн» обработка в ответ на события страницы снизит производительность по мере масштабирования системы, особенно в периоды большой нагрузки.«Автономная» обработка посредством постановки в очередь процессов в фоновом режиме позволит вам отслеживать очередь на предмет большой нагрузки, выгружать эти процессы на другое оборудование, добавлять новые функциональные возможности, не нарушая пользовательский опыт и не сталкиваясь с таймаутами страниц и т. Д.