방법: 1. "swoole_timer_after(시간, 실행될 함수)" 문을 사용하여 지정된 시간 이후에 작업을 실행합니다. 2. "swoole_timer_tick(시간, 실행할 함수, 콜백 함수)" 문을 사용하여 설정합니다. 간격 시계 타이머 타이밍 작업을 수행합니다.
이 튜토리얼의 운영 환경: Windows 10 시스템, Swoole 4 버전, DELL G3 컴퓨터
swoole_timer_after
지정된 시간 이후에 기능을 실행하려면 swoole -1.7.7 이상이 필요합니다.
swoole_timer_after(int $after_time_ms, mixed $callback_function);
swoole_timer_after 함수는 실행이 완료된 후 소멸되는 일회성 타이머입니다. 이 함수는 PHP 표준 라이브러리에서 제공하는 sleep 함수와 다릅니다. 슬립 호출이 이루어진 후에는 현재 프로세스가 차단되고 새 요청을 처리할 수 없습니다.
$after_time_ms는 시간을 밀리초 단위로 지정합니다.
$callback_function 시간이 만료된 후 실행되는 함수는 호출 가능해야 합니다. 콜백 함수는 어떤 매개변수도 허용하지 않습니다.
$after_time_ms 최대값은 86400000
사용 예
swoole_timer_after(1000, function(){ echo "timeout\n"; });
swoole_timer_tick
간격 시계 타이머를 설정합니다. swoole_timer_clear를 호출하여 지워질 때까지 계속 실행합니다. swoole_timer_add와 달리 틱 타이머는 동일한 간격으로 여러 타이머를 가질 수 있습니다.
int swoole_timer_tick(int $ms, mixed $callback, mixed $param = null);
$ms는 시간을 밀리초 단위로 지정합니다.
$callback_function 시간이 만료된 후 실행되는 함수는 호출 가능해야 합니다. 콜백 함수는 어떤 매개변수도 허용하지 않습니다.
$param 콜백 매개변수
$ms는 86400000
tick 타이머는 버전 1.7.14 이상에서 사용할 수 있습니다.
tick 타이머는 곧 swoole_timer_add를 대체합니다.
콜백 함수
타이머에 의해 실행되는 콜백 함수는 2개의 매개변수를 받습니다.
function onTimer(int $timer_id, mixed $params = null);
$timer_id 이 타이머를 지우기 위해 swoole_timer_clear에 사용할 수 있는 타이머의 ID
$params swoole_timer_tick이 전달한 사용자 매개변수
사용 예
swoole_timer_tick(1000, function(){ echo "timeout\n"; });
추천 학습 : 스울 튜토리얼
위 내용은 Swoole에서 예약된 작업을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!