| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Времени лимит |
| Автор: YahоО 20.3.2024, 15:26 |
| Как выполнить задачу на сервере для которой требуется времени больше чем установлено лимитами по умолчанию? (без cron, и без php.ini: max_execution_time = 30) Должно быть все просто - в браузере набираем в адресной строке адрес своей страницы и ждем полного выполнения php алгоритма, о чем в браузере должна появиться соответствующая надпись. (возможно потребуется несколько минут) |
| Автор: Oldshelf 20.3.2024, 18:46 | ||
Решал похожую задачу с помощью переменной индекса прогресса. Если есть возможность разделить задачу на подзадачи, каждой из которых хватает лимита, то можно выполнять такие подзадачи последовательно обновляя скриптом страницу. Что-то типа этого:
Просто увеличивать счётчик $step на каждой итерации и передавать в переменной ?step=$step в этот же скрипт. |
| Автор: YahоО 20.3.2024, 23:27 | ||
Да, примерно так делал до того как написал свой вопрос:
а подсчет шагов уже на стороне сервера. Коротко и эффективно. А а хостеру похоже не очень понравилась моя идея, сначала все шло хорошо, но потом он меня попросту вырубил )) и я таки свой вопрос здесь и написал, в надежде что все же имеются еще варианты. Oldshelf, благодарю за скрипт! |
| Автор: Oldshelf 21.3.2024, 05:56 |
| Да, особенность скрипта именно в подборе тайм-аута. У меня скрипт был ресурсоёмкий и чтобы не нагружать сервер на полную ставил паузы в несколько секунд, давая возможность выполниться обычным запросам, которые могли затормозиться из-за повышенной нагрузки. |