>  기사  >  PHP 프레임워크  >  Swoole에서 예약된 작업을 구현하는 방법

Swoole에서 예약된 작업을 구현하는 방법

WBOY
WBOY원래의
2022-02-14 14:30:463091검색

방법: 1. "swoole_timer_after(시간, 실행될 함수)" 문을 사용하여 지정된 시간 이후에 작업을 실행합니다. 2. "swoole_timer_tick(시간, 실행할 함수, 콜백 함수)" 문을 사용하여 설정합니다. 간격 시계 타이머 타이밍 작업을 수행합니다.

Swoole에서 예약된 작업을 구현하는 방법

이 튜토리얼의 운영 환경: Windows 10 시스템, Swoole 4 버전, DELL G3 컴퓨터

swoole로 예약된 작업을 구현하는 방법

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.