首页 > 其他 > 详细

使用Swoole实现毫秒级定时任务

时间:2020-07-21 22:24:52      阅读:86      评论:0      收藏:0      [点我收藏+]

指定时间后执行

 $timer = \Swoole\Timer::after(毫秒数,function(){ 执行代码 });

清除指定定时器 

\Swoole\Timer::clear($timer);

附上示例代码

$timer1 = \Swoole\Timer::tick(5000,function()use(&$timer1){
        static $i = 0;
        if($i>100){
                \Swoole\Timer::clear($timer1);
        }else{
                $i++;
        }
        $log = fopen(‘test.log‘,‘a‘);
        fwrite($log,"现在时间是:".date(‘Y-m-d H:i:s‘,time())."\n");
        fclose($log);
 });

想要在方法内清除定时任务必须用&号。

附上执行命令

 nohup php /root/test.php &

这里必须加上& 表示指在后台运行

执行之后会出现一个进程号,可以用kill -9 [进程号] 结束当前进程,当然也可以用ps命令来查进程号

ps -aux| grep test.php 

  

以上方法只能以cli模式运行

注意,必须安装了swoole拓展才能使用这个方法。此操作也只能在cli模式使用,否则会报错^^  看报错信息也能看出来

技术分享图片

 

使用Swoole实现毫秒级定时任务

原文:https://www.cnblogs.com/yellowgold/p/12669083.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!