Существует много способов кошки кошки, но я бы это сделал.
1, присвойте уникальный идентификатор запросу (вы, скорее всего, сделали это, когда вы запрашиваете состояние готовности каждые несколько секунд).
Задайте члену своих данных сеанса уникальному идентификатору.
Установите все свои страницы, чтобы загрузить JS, необходимые для постоянной проверки процесса, но JS НЕ должен использовать какой-либо идентификатор.
В скрипте, который анализирует запрос ajax, проверите его для уникального идентификатора и обновите внутреннюю систему (файл или базу данных) со временем последнего запроса и уникальным идентификатором. и нажмите назад детали, если есть детали, которые нужно нажать.
В другой системе (например, в cron-системе) или в самом процессе (если в цикле, например), он проверяет ту же базу данных или файловую систему, которая обновляется с отметкой времени для уникального идентификатора и последней метки времени. Если временная метка слишком старая, скажем 15 секунд (помните, что время загрузки страницы может задержать 5-секундный интервал), а затем убить процесс, если cron'd, или самоубийство процесса, если в самом скрипте процесса.
Выход из системы будет убивать данные сеанса, что делает невозможным обновление таблицы/файла (и для этого должна быть проверка), и это сделает так, что в течение следующих нескольких секунд после выхода из системы процесс прекратится.
Мне понравилась концепция сохранения идентификаторов и таймера в файле или БД. Есть ли другой способ, в котором нам не нужно добавлять JS повсюду? – krupalpatel86
Вы можете увеличить время ожидания, но то, что вам действительно нужно, - это состояние активности, которое может считывать бэкэнд-система. если вы полностью исключаете javascript, тогда вам нужно будет установить тайм-аут примерно на 2-3 минуты и сбросить его при каждой навигации по страницам. Это также надеется, что человек не просто сидит на странице в течение 10 минут, наблюдая за ходом процесса. если прогресс не будет активно обновляться через постоянную проверку (например, непрерывный ajax), то это может быть наиболее жизнеспособным вариантом. –