2012-02-22 3 views
1

나는 아래의 예를 가지고 :확인 스크립트 마감 시간

// 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 루프보다 작은 (초)을 확인하는 것입니다 mysql 업데이트를 실행하는 것보다 60 초. 네가 나를 이해하지 못한다면 너는 나에게 물을 수있다. 나는 그 언어에 대해 유감이다. 나는 영어에 능숙하지 못하며,이 일이 가능하면 잘 모르겠습니다. 고맙습니다.

답변

2
$time1 = time(); 
for($i = 0; $i < 10; $i++){ // for loop 

    // make dig lookup here 

} 
$time2 = time(); 

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

    // make my sql update 

} 
+0

나는 그것을 테스트하고 작동합니다. 고맙습니다. – sg552

4
$start = microtime(true); 

[...] 

$end = microtime(true); 

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

} 
+0

한 것은 내가 저를 게시하지만 이길 무슨 일이 있었는지 :) –

+1

가이 60000이어야한다로? – 472084

+0

@ Jleagle : 당신이 60,000 초를 확인하고 싶을 때만. 매뉴얼에서 :'get_as_float가 TRUE로 설정되면, microtime()은 유닉스 시대 이후 초 단위의 현재 시간을 나타내는 float를 반환합니다. – webbiedave

1

먼저 연결을 종료해야합니다.

어쨌든 @webbiedave에서 제공 한 솔루션은 좋지만 이상한 경험이 있습니다 (대부분 부정적인 결과가 나타납니다).

Advanced PHP Debugger은 더 나은 결과를 제공합니다.

는 사용 방법 : 스크립트

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

2.Run 스크립트의

1.First 라인. 이 파일이 생성됩니다 apd.dumpdir/pprof_pid.ext

3.Display 데이터를 pprofp

bash-2.05b$ pprofp -R /tmp/pprof.22141.0 
+1

'APD'를 사용하는 예제 코드가 있습니까? 나는 그것을보고 관심을 가질 것이고 +1도 줄 것이다. –

+1

나는 그것이 그가 요구하고있는 것이라고 생각하지 않는다. 그는이 작업을 자동으로 수행하고 파일을보고 수동으로 업데이트를 수행 할 필요가 없습니다. 나는이 순간에 '미세한 시간'이 갈 길이라고 생각하는데, 이것은 APD를위한 자리가 아니다. –

+1

네 말이 맞아. 그러나 나는 주어진 시간 동안 어떤 행동을 취하는 것이 좋은 생각이라고 생각하지 않는다. 관련된 테이블을 잠그면 모든 것이 바뀔 것입니다. 어쨌든, APD 문서를 한번보세요. 훌륭한 도구입니다! – santiagobasulto