본문 바로가기
프로그래밍/PHP

PHP 실행 지연(delay) 시키기

by pentode 2018. 4. 19.

PHP 스크립트(script) 실행(execution)시 테스트 등의 목적으로 실행을 지연(delay)시켜야할 경우가 있습니다. 이때 사용할 수 있는 함수 입니다.



1. 초 단위로 지연


int sleep ( int $seconds )


$seconds로 주어진 초 만큼 실행을 지연합니다. 성공시 0을 반환, 실패시 FALSE를 반환합니다. 음수를 지정하면 오류입니다. Warning이 발생합니다.


<?php
// ...
// 2초간 지연합니다.
sleep(2);
//...
?>



2. 마이크로초 단위로 지연


void usleep ( int $micro_seconds )


$micro_seconds로 주어인 마이크로 초(백만분의 1초) 만큼 실행을 지연합니다. 값을 반환하지 않습니다. 음수를 지정하면 오류입니다. Warning이 발생합니다.


<?php
// ...
// 2초간 지연합니다.
usleep(2000000);
// ...
?>



3. 지정된 시간까지 지연


bool time_sleep_until ( float $timestamp )


$timestamp 로 주어진 시간까지 지연합니다. 성공시 TRUE, 실패시 FALSE를 반환합니다. 과거 시간을 지정하면 오류입니다. Warning이 발생합니다.


<?php // 2초 지연 time_sleep_until(time() + 2); // 0.2초 지연 time_sleep_until(microtime(true) + 0.2); ?>


※ 참고

- int time(void) : January 1 1970 00:00:00 GMT 부터 지금까지의 초를 반환합니다.

- mixed microtime ([ bool $get_as_float = false ] ) : 현재의 타임스탬프를 마이크로초로 반환합니다. 인자로 주어지는 $get_as_float가 TRUE이면 마이크로초에 가장 근접한 초값을 float 타입으로 반환하고, FALSE 이면 string 타입의 값을 반환합니다.


PHP 프로그램을 지연시키는 다양한 방법을 알아보았습니다.

반응형