EASYLT文档 > Swoole框架 > 定时任务

定时任务

  • · 仅支持在server目录下服务文件中创建
  • · 多个定时任务在TCP等服务器/协程容器中,将异步非阻塞执行。
  • · 有两种定时器模式,循环执行定时器单次执行定时器,如下:
    <?php
    include('server.ini');
    $tcp_serv = new Tcp_server;
    $tcp_serv->receive(function($request_data){
        //创建循环执行定时器
        Timer::loop(function(){
            $mt_rand = mt_rand(1,9);
            if($mt_rand==9){
                Timer::clear();
                /**
     *设置条件手动中止执行定时器
     *PS:也可在Timer::loop()中填入第三个选填参数,自动中止执行定时器。
     */
            }
            file_get_contents('https://www.baidu.com');//1000毫秒(1秒)后访问一次百度
        },1000,10000);//1000为定时器循环周期时间,以毫秒为单位,为必填项,可自行设置;10000为定时器中止执行周期时间,以毫秒为单位,为选填项,可自行设置值。
    
        //创建单次执行定时器
        Timer::single(function(){
            file_get_contents('https://www.baidu.com');//3000毫秒(3秒)后访问一次百度
        },3000);//3000为定时器中止执行周期时间,以毫秒为单位,为必填项,可自行设置值。
        return $request_data;
    });
    $tcp_serv->start();