workerman 有没有类似swoole_timer_after的定时器

xiasha11

 有个场景,客户端在断开连接以后,定时器照样执行,到时间自动销毁定时器

3486 3 0
3个回答

xiasha11

类似setTimeout

  • 暂无评论
xiasha11
use \Workerman\Worker;
use \Workerman\Lib\Timer;
require_once __DIR__ . '/Workerman/Autoloader.php';

$task = new Worker();
$task->onWorkerStart = function($task)
{
    // 注意,回调里面使用当前定时器id必须使用引用(&)的方式引入
    $timer_id = Timer::add(1, function()use(&$timer_id)
    {
        static $i = 0;
        echo $i++."\n";
        // 运行10次后删除定时器
        if($i === 10)
        {
            Timer::del($timer_id);
        }
    });
};

// 运行worker
Worker::runAll();
  • 暂无评论
keytehu

手册里说Timer::add 最后一个参数传false 是一次性定时器啊

年代过于久远,无法发表回答
🔝