스울의 타이머 적용 방법

(*-*)浩
풀어 주다: 2019-12-06 13:50:47
원래의
3133명이 탐색했습니다.

스울의 타이머 적용 방법

swoole은 밀리초 수준의 세분성을 갖춘 JavaScript와 유사한 setInterval/setTimeout 비동기 고정밀 타이머를 제공합니다. 사용 방법도 매우 간단합니다.

swoole은 주기율기 사용을 제공합니다                                                                                                  사용하려면  (배우는 것이 좋습니다: swoole 동영상 튜토리얼 )

$server->tick(1000, function() use ($server, $fd) {        
    $server->send($fd, "hello world");
    });
로그인 후 복사

처음에는 이렇게 사용했습니다. 시작할 때 코드를 보세요

<?php

$serv = new Swoole\Server("0.0.0.0", 9501);

$serv->set(array(
    &#39;worker_num&#39; => 1,    //worker process num
));

$serv->on(&#39;connect&#39;, function ($serv, $fd){
    echo "客户端 ".$fd."连接成功 \n";
});
$serv->on(&#39;receive&#39;, function ($serv, $fd, $reactor_id, $data) {
    echo "客户端 ".$fd."发来消息:".$data."\n";
    $serv->send($fd, &#39;Swoole已经介绍到您发送的消息: &#39;.$data);
});
$serv->on(&#39;close&#39;, function ($serv, $fd) {
    echo "客户端 {$fd}关闭连接\n";
});

$serv->on(&#39;WorkerStart&#39;, function ($serv, $worker_id){
    $serv->tick(2000, function(){
        echo "执行定时器任务 ".time()." \n";
    });
});

$serv->start();
로그인 후 복사

타이머를 사용하기 위해 onWorkStart에 넣었습니다. 이렇게 하면 단일 작업자 프로세스에서 타이머가 정상적으로 실행될 수 있습니다. 그러나 swoole의 경우 단일 프로세스에서 작동하도록 하면 분명히 해당 "재능"을 모욕하게 되므로 work_num을 설정했습니다. 2. 그러던 중 사진과 같이 사고가 발생했습니다

스울의 타이머 적용 방법

위 내용은 스울의 타이머 적용 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!