2013-04-19 3 views
1

Я запускаю скрипт, который постоянно работает над моей базой данных. Как всегда необходимо перезапустить скрипт один раз в час. Очевидно, я не могу сделать это автоматически. Я не хочу использовать демона, это слишком сложно для меня прямо сейчас. Более простым решением является использование задания cron, но самый большой недостаток - это не остановит последний скрипт. Скрипт работает в бесконечном while(true) циклеСоздание Crons для запуска существующего скрипта

Однако это возможно, если я делаю функцию в сценарии, позволяет сказать

function exitScript() 
{ 
    exit; 
} 

а затем на Cron работу, если я сделать что-то вроде

php /home/Path/public_html/webservice/myScript.php exitScript and then 
php /home/Path/public_html/webservice/myScript.php 

Что будет быть форматом и как я могу запускать оба по одному с помощью задания cron или делать другой PHP, который это делает?

Мне нужен совет.

+0

Выход 100% ЗАПИСИ все ваши скрипты php. Итак, ваш crontab должен начать его снова каждые 1 час. – Svetoslav

+0

вы можете объяснить с кодом, что вы имеете в виду? –

ответ

1

Вот небольшой трюк легко сделал, который вы можете использовать ..

первый набор вы хрон рабочих мест для работы на каждый час.

* */1 ..... cronjob.php 

второй В начале вашего скрипта определяет 1 константу со временем:

define('SCRIPT_START_TIME', time()); 

третьего На вашем выходе сценария настройкой проверки состояния, чтобы выйти, если 59 минут передаются от этой константы к текущему времени. . :)

function exitScript() 
{ 
    if((time() - SCRIPT_START_TIME) > 59*60){ 
    exit(); 
    } 
} 

4-е место на каждом этапе, когда LOOP запускает сценарий выхода.

+0

Это действительно классно –