加入收藏 | 设为首页 | 会员中心 | 我要投稿 无锡站长网 (https://www.0510zz.cn/)- 运维、开发、CDN、操作系统、语音技术!
当前位置: 首页 > 教程 > 正文

php Swoole实现毫秒定时计划任务

发布时间:2022-08-11 11:20:58 所属栏目:教程 来源:互联网
导读:项目开发中,如果有定时任务的业务要求,我们会使用linux的crontab来解决,但是它的最小粒度是分钟级别,如果要求粒度是秒级别的,甚至毫秒级别的,crontab就无法满足,值得庆幸的是swoole提供的强大的毫秒定时器。【推荐:PHP视频教程】 应用场景举例 我们

 
    }
 
   
 
    // 监听数据接收事件
 
    public function onReceive(swoole_server $serv, $fd, $from_id, $data)
 
    {
 
      echo "Get Message From Client {$fd}:{$data}n";
 
      //$this->writeLog('接收客户端参数:'.$fd .'-'.$data);
 
      $res['result'] = 'success';
 
      $serv->send($fd, json_encode($res)); // 同步返回消息给客户端
 
      $serv->task($data); // 执行异步任务
 
    }
 
   
 
    /**
 
    
 
    * @param $serv swoole_server swoole_server对象
 
    * @param $task_id int 任务id
 
    * @param $fromid int 投递任务的worker_id
 
    * @param $data string 投递的数据
 
    */
 
    public function onTask(swoole_server $serv, $task_id, $from_id, $data)
 
    {
 
      swoole_timer_tick(30000, function($timer) use ($task_id) { // 启用定时器,每30秒执行一次
 
        $memPercent = $this->getMemoryUsage();
 
        echo date('Y-m-d H:i:s') . '当前内存使用率:'.$memPercent."n";
 
      });
 
    }
 
   
 
   
 
    /**
 
    * @param $serv swoole_server swoole_server对象
 
    * @param $task_id int 任务id
 
    * @param $data string 任务返回的数据
 
    */
 
    public function onFinish(swoole_server $serv, $task_id, $data)
 
    {
 
      //
 
    } 

(编辑:无锡站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读