Ответов: 0 Просмотров: 320
|
Всем привет. Столкнулся с проблемой.
Есть скрипт, который работает с почтой (скачивает прикрепленные файлы). Если запускать его отдельно для обработки всех писем, выдает Maximum execution time. Это понятно. Если запускать для отдельного письма, все скачивает без ошибок. Пробую делать через Ajax (jQuery). JS запускает PHP скрипт для каждого письма отдельно. Но все равно выдает Maximum execution time. Почему? Ведь JS обращается к PHP скрипту, тот обрабатывает одно письмо (времени ему хватает), и счетчик времени должен сбрасываться. Или нет? Объясните, пожалуйста, как считается время исполнения PHP скрипта. И как решить задачу не меняя max_execution_time.
PS C set_time_limit(0) все работает.
(РЕШЕНО)
Разобрался. При использовании асинхронных запросов, JS сразу шлет все запросы к PHP скрипту. Т.е. получается, что PHP скрипт начинает обрабатывать сразу все письма. Поэтому времени и не хватает. Решил проблему с помощью jQuery плагина Ajaxq, который организует очередь ajax запросов. Следующий запрос не будет отправлен, пока не будет выполнен первый. |