PHP 응답대기(실행 지연) 하는 방법

요즘 간간히 WINFORM 형 프로그램을 개발을 하고 있는데요. PHP로 간단한 웹사이트를 구축할 일이 생겼습니다. 그 와중에 파일을 전송한 뒤 그에 따른 결과를 받아서 내용을 출력하고 화면을 구성을 해야 하는데요. 이러한 경우 응답대기가 필요할 수 있습니다.


사용하는 메서드에서 상태값을 반환을 해준다면 좋겠지만, 아닌경우가 훨씬 많을 텐데요. PHP에서는 어떤식으로 지연을 처리하고 있는지 살펴보도록 하겠습니다.




PHP 응답대기(실행 지연) 함수소개


지연처리를 위해서는 단순히 대기만 필요한 경우, 정확하게 시간이 흐른뒤 메서드를 실행할 경우가 있습니다. 단순히 대기를 할 경우에는 가끔씩 시간 대기가 어긋날 경우가 생길 수 있는데요. 저도 이걸 구분해서 사용을 해야 하는 생각이 많이 들었습니다. 실재로 .Net 계열이나 JAVA에서 Thread.sleep() 의 형식을 지연대기를 사용을 했었는데, 문제가 있더라구요


 


주로 로직에 대한 부하, 메서드 실행상의 문제, 오류등으로 인해서 로직을 안타고 뛰어넘는 경우가 있습니다. 이것때문에 골머리를 썩혔었는데요. 그래서 실행 지연을 하기 위해서는 확실하게 tim_sleep_until 함수를 쓰는게 맞다고 생각이 드네요.


1. time_sleep_until 함수

이 함수의 경우 Boolean 이며, true, false로 반환을 하기 때문에 지연시간을 확인을 할 수 있습니다.

사용법은 아래와 같습니다.



조건문을 주어서 10초를 지연하는 로직입니다. 


<?


$tmp = false;

$tmp = time_sleep_until(time() + 10); //10초간 지연

if($tmp){
//실행할 문장

echo '<script>alert("10초 테스트");</script>';

}

?>



간단하게 소개를 해드렸는데요. 좀더 상세한 내용은 다시한번 정리해서 포스팅 하도록 하겠습니다.