Festem
Постоялец
- Регистрация
- 4 Сен 2014
- Сообщения
- 97
- Реакции
- 27
- Автор темы
- #1
Суть такова - у клиента стоит жесткое ограничение выполнение скриптов в 60 секунд (через браузер). При этом ему надо сделать глобальны сбор информации с кучей итераций, который выполняется от 180 до 250с. Я пришел к такому решению - сделал сам скрипт, который выполняет нужные манипуляции, и php файл-оболочку, который с помощью команды
запускает скрипт в обход ограничений. Все бы хорошо, но не могу решить вопрос как просигнализировать в браузер об окончании работы скрипта. Можно конечно после окончания писать в любой текстовый файл какую-то метку, и обновлять страницу раз в 30 секунд проверяя ее, но это как-то похоже больше на костыль. Может можно другим образом узнать об окончании работы скрипта, чтоб после этого загрузить файл вывода информации на экран?
Выходит некое подобие клиент-сервера - серверный скрипт function.php выполняет сбор и обработку информации, а после этого клиент должен открыть файл inform.php и получить уже структурированную информацию.
Код:
shell_exec("php -f function.php > /dev/null 2>/dev/null &");
запускает скрипт в обход ограничений. Все бы хорошо, но не могу решить вопрос как просигнализировать в браузер об окончании работы скрипта. Можно конечно после окончания писать в любой текстовый файл какую-то метку, и обновлять страницу раз в 30 секунд проверяя ее, но это как-то похоже больше на костыль. Может можно другим образом узнать об окончании работы скрипта, чтоб после этого загрузить файл вывода информации на экран?
Выходит некое подобие клиент-сервера - серверный скрипт function.php выполняет сбор и обработку информации, а после этого клиент должен открыть файл inform.php и получить уже структурированную информацию.