PHP-скрипт, кажется, аварийно завершает работу во время команды сна

У меня есть php-скрипт, который запрашивает внешний API, который позволяет выполнять ограниченное количество запросов за определенный период времени. Чтобы справиться с этим, я приостанавливаю свой скрипт на 60 секунд, если получаю ответ о том, что я достиг этого предела, а затем просыпаюсь и снова проверяю, а затем повторяю это, пока не получу больше данных из API.

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

Я ищу любые советы или идеи о том, что может происходить, поэтому у меня есть идея, что искать, чтобы исправить это.

Спасибо.


person Jon    schedule 08.03.2011    source источник
comment
Как вы вызываете скрипт? Командная строка, веб?   -  person Damp    schedule 09.03.2011
comment
ваш сервер или размещенная учетная запись? на многих хостах есть скрипты, которые останавливают слишком долгую работу клиентских скриптов.   -  person    schedule 09.03.2011


Ответы (2)


Можете ли вы опубликовать часть кода?

Поскольку вы не уверены, происходит ли сбой сценария или он никогда не возвращается, возможно, есть еще одна область вашего сценария, которая не выполняет команду сна и просто завершает выполнение.

person Jason MacLean    schedule 08.03.2011

проверьте максимальное время выполнения в php.ini

$time=ini_get('max_execution_time');
$slept=0;
while(!dataready()){
    sleep(1);
    $slept++;
    if($slept>=$time-4) die("script timed out");
}
person n00b    schedule 08.03.2011