Как определить активность скрипта на сервере

Статус
В этой теме нельзя размещать новые ответы.

Festem

Постоялец
Регистрация
4 Сен 2014
Сообщения
97
Реакции
27
Суть такова - у клиента стоит жесткое ограничение выполнение скриптов в 60 секунд (через браузер). При этом ему надо сделать глобальны сбор информации с кучей итераций, который выполняется от 180 до 250с. Я пришел к такому решению - сделал сам скрипт, который выполняет нужные манипуляции, и php файл-оболочку, который с помощью команды

Код:
shell_exec("php -f function.php > /dev/null 2>/dev/null &");

запускает скрипт в обход ограничений. Все бы хорошо, но не могу решить вопрос как просигнализировать в браузер об окончании работы скрипта. Можно конечно после окончания писать в любой текстовый файл какую-то метку, и обновлять страницу раз в 30 секунд проверяя ее, но это как-то похоже больше на костыль. Может можно другим образом узнать об окончании работы скрипта, чтоб после этого загрузить файл вывода информации на экран?

Выходит некое подобие клиент-сервера - серверный скрипт function.php выполняет сбор и обработку информации, а после этого клиент должен открыть файл inform.php и получить уже структурированную информацию.
 
у клиента стоит жесткое ограничение выполнение скриптов в 60 секунд
Нет возможности увеличить макс. время выполнения и при этом доступна shell_exec?
ini_set('max_execution_time',0);
<IfModulemod_php5.c>
php_value max_execution_time 300
</IfModule>
не спасает?

Можно конечно после окончания писать в любой текстовый файл какую-то метку, и обновлять страницу раз в 30
Можно просто ajax'ом пинговать наличие файла результата выполнения, чтобы страницу не перезагружать каждый раз..
Или разбить function.php на несколько менее длительных процессов.
 
Последнее редактирование модератором:
Увеличить нельзя никак. Командой через exec никак не проверить?
 
Это один из тех приколов, когда над php потешаются более серьезные языки. Наиболее просто и кроссплатформено писать в некий внешний сервис: файл, мемкеш, БД.

Для vps можно сделать сборку php с shmop Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху