定时任务
· 仅支持在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();