Проверьте время окончания скрипта - PullRequest
1 голос
/ 22 февраля 2012

У меня есть пример ниже:

// start time
// make mysql query here

for($i = 0; $i < 10; $i++) // for loop
{
// make dig lookup here

   if (domain found){
    // Update database
    }

}

if (time <= 60 sec)// check current finishing time and compare
{
// make my sql update
}

Что я хочу сделать, это проверить, сколько секунд проходит время после цикла, а затем, если время, необходимое для завершения цикла for, составляет менее 60 секундчем запустить обновление MySQL.Если вы меня не понимаете, вы можете спросить меня.Я извиняюсь за язык.Я плохо разбираюсь в английском, и я не был уверен, что это можно сделать.Спасибо.

Ответы [ 3 ]

4 голосов
/ 22 февраля 2012
$start = microtime(true);

[...]

$end = microtime(true);

if (($end - $start) < 60) {

}
2 голосов
/ 22 февраля 2012
$time1 = time();
for($i = 0; $i < 10; $i++){ // for loop

    // make dig lookup here

}
$time2 = time();

if (($time2 - $time1) < 60){

    // make my sql update

}
1 голос
/ 22 февраля 2012

Во-первых, не забудьте закрыть ваши соединения.

В любом случае, решение microtime, данное @webbiedave, хорошо, но у меня были странные переживания (в основном отрицательные результаты).

Расширенный отладчик PHP 1007 * дал мне лучшие результаты.

Как его использовать:

1.Первая строка вашего скрипта

<?php
  // In the First line of your script
  apd_set_pprof_trace();
  // The rest of your code here
?>

2. Запустите скрипт. Этот файл будет сгенерирован: apd.dumpdir/pprof_pid.ext

3. Отображение данных с помощью pprofp

bash-2.05b$ pprofp -R /tmp/pprof.22141.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...