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

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


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


etc-image-0



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>';

}

?>



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