码迷,mamicode.com
首页 > 其他好文 > 详细

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

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

标签:gre   time()   test   后台运行   出现   fclose   img   fwrite   class   

指定时间后执行

 $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实现毫秒级定时任务

标签:gre   time()   test   后台运行   出现   fclose   img   fwrite   class   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!