Обновление скрипта по URL автоматически каждый час - PullRequest
1 голос
/ 16 декабря 2011

У нас есть сценарий, но он истекает по тайм-ауту, мы увеличили ограничения в php.ini, но сценарий, похоже, истекает через некоторое время.

Что я хотел бы сделать, так это оставить URL-адрес сценария открытым в окне браузера и автоматически обновлять его каждый час, чтобы обеспечить постоянную работу сценария.

Что-нибудь, что я могу вставить в /index.php, чтобы сделать это? Возможно, мета-обновление?

Или любые другие идеи приветствуются, большое спасибо.

Ответы [ 2 ]

4 голосов
/ 16 декабря 2011

Обновление на стороне клиента:

<meta http-equiv="refresh" content="15; url=http://localhost/">

Обновление на стороне сервера:

<?php header("refresh: 15; url=http://localhost/"); ?>

15 означает обновление через 15 секунд. Вы должны вставить URL в ваш скрипт вместо http://localhost/

0 голосов
/ 16 декабря 2011

Установка таймаута для самого скрипта может быть проблемой, потому что вы можете не захотеть сбрасывать его, если это действительно не нужно (например, когда он истекает).

Что-то, что я использовал давным-давно, было следующимconcept.

У меня было два сценария, один отслеживал другой.

Функциональный сценарий записывал бы файл с отметкой времени после каждого завершенного цикла (я предполагаю, что вы выполняете какой-топетля).

Теперь скрипт монитора будет очень простым, он будет проверять файл метки времени каждые 30 секунд, и как только он обнаружит, что метка времени слишком старая (например, не обновлена ​​недавно), он отобразит строку JS, которая будетповторно открыть функциональный скрипт в новом окне.Таким образом, функциональный скрипт будет снова открыт только после того, как он перестанет работать.

Сценарий мониторинга будет отображать строку JS, чтобы обновляться каждые 30 секунд (используя settimeout).При таком подходе вы будете симулировать, что вы находитесь за компьютером и ожидаете, пока сценарий прекратит работу и перезапустит его.

Дайте мне знать, если вам нужны примеры с этим, но именно так вы можете решить эту проблему.

...