您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
workerman的Timer定时器类的add方法实现定时器中销毁当前定时器(use闭包方式传递$timer_id)(变量引用地址的使用场景之一)
发布时间:2021-12-05 00:08:18编辑:雪饮阅读()
定时器中销毁当前定时器(use闭包方式传递$timer_id)
实例:
<?php
use Workerman\Worker;
use Workerman\lib\Timer;
require_once __DIR__ . '/vendor/autoload.php';
$task = new Worker();
$task->onWorkerStart = function(Worker $task)
{
// 计数
$count = 1;
// 要想$timer_id能正确传递到回调函数内部,$timer_id前面必须加地址符 &
$timer_id = Timer::add(1, function()use(&$timer_id, &$count)
{
echo "Timer run $count\n";
// 运行10次后销毁当前定时器
if($count++ >= 10)
{
echo "Timer::del($timer_id)\n";
Timer::del($timer_id);
}
});
};
// 运行worker
Worker::runAll();
?>
实例运行到计时器被删除:
[root@izj6c2jeancylo0ppo4vz5z workerman]# php test.php start
Workerman[test.php] start in DEBUG mode
------------------------------------- WORKERMAN --------------------------------------
Workerman version:4.0.22 PHP version:7.0.33
-------------------------------------- WORKERS ---------------------------------------
proto user worker listen processes status
tcp root none none 1 [OK]
--------------------------------------------------------------------------------------
Press Ctrl+C to stop. Start success.
Timer run 1
Timer run 2
Timer run 3
Timer run 4
Timer run 5
Timer run 6
Timer run 7
Timer run 8
Timer run 9
Timer run 10
Timer::del(1)
关键字词:workerman,Timer,add,闭包,use,timer_id,变量,引用
相关文章
- workerman的Timer定时器类的add方法实现定时器函数为
- workerman的Timer定时器类的add方法实现定时器函数为
- workerman的Timer定时器类的add方法实现定时函数为类
- workerman的Timer定时器类的add方法实现定时函数为类
- workerman的Timer定时器类的add方法实现定时函数为类
- workerman的Timer定时器类的add方法实现定时函数为类
- workerman的Timer定时器类的add方法实现闭包计划任务(
- workerman的Http服务-请求-获取header
- workerman的Http服务-请求-获取cookie
- workerman的Http服务-请求-获得原始请求post包体