swoole的定时器怎么应用

发布时间 - 2019-12-06 00:00:00    点击率:

swoole提供了类似JavaScript的setInterval/setTimeout异步高精度定时器,粒度为毫秒级。使用也非常简单。

swoole中提供了一个定期器的用法                                                (推荐学习: swoole视频教程)

$server->tick(1000, function() use ($server, $fd) {        
    $server->send($fd, "hello world");
    });

开始的时候我是这么用的,看下代码

set(array(
    'worker_num' => 1,    //worker process num
));

$serv->on('connect', function ($serv, $fd){
    echo "客户端 ".$fd."连接成功 \n";
});
$serv->on('receive', function ($serv, $fd, $reactor_id, $data) {
    echo "客户端 ".$fd."发来消息:".$data."\n";
    $serv->send($fd, 'Swoole已经介绍到您发送的消息: '.$data);
});
$serv->on('close', function ($serv, $fd) {
    echo "客户端 {$fd}关闭连接\n";
});

$serv->on('WorkerStart', function ($serv, $worker_id){
    $serv->tick(2000, function(){
        echo "执行定时器任务 ".time()." \n";
    });
});

$serv->start();

开始使用定时器的时候我放到了 onWorkStart 中执行,这样做的话可以保证在单个worker进程的情况下定时器可以正常运行,但是对于swoole来说让它单进程工作显然辱没了它的 "才华" ,于是我将 work_num 设置为2,然后意外就发生啦,如图


# swoole  # 客户端  # 我是  # 这样做  # 到您  # 我将  # 如图  # 让它  # 设置为  # 正常运行  # 情况下 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何基于云服务器快速搭建个人网站?  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  Laravel如何实现用户密码重置功能?(完整流程代码)  Linux网络带宽限制_tc配置实践解析【教程】  phpredis提高消息队列的实时性方法(推荐)  南京网站制作费用,南京远驱官方网站?  网站优化排名时,需要考虑哪些问题呢?  Swift中switch语句区间和元组模式匹配  原生JS获取元素集合的子元素宽度实例  详解MySQL数据库的安装与密码配置  如何在阿里云高效完成企业建站全流程?  Laravel如何使用Blade组件和插槽?(Component代码示例)  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  香港服务器WordPress建站指南:SEO优化与高效部署策略  如何在万网自助建站平台快速创建网站?  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  JavaScript数据类型有哪些_如何准确判断一个变量的类型  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  如何快速搭建安全的FTP站点?  实例解析Array和String方法  Win11怎么开启自动HDR画质_Windows11显示设置HDR选项  利用vue写todolist单页应用  如何在不使用负向后查找的情况下匹配特定条件前的换行符  海南网站制作公司有哪些,海口网是哪家的?  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  怎么用AI帮你为初创公司进行市场定位分析?  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  个人网站制作流程图片大全,个人网站如何注销?  Android GridView 滑动条设置一直显示状态(推荐)  EditPlus中的正则表达式实战(6)  如何用景安虚拟主机手机版绑定域名建站?  iOS发送验证码倒计时应用  Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)  使用C语言编写圣诞表白程序  如何快速登录WAP自助建站平台?  Laravel路由怎么定义_Laravel核心路由系统完全入门指南  如何在搬瓦工VPS快速搭建网站?  🚀拖拽式CMS建站能否实现高效与个性化并存?  Bootstrap整体框架之JavaScript插件架构  JS去除重复并统计数量的实现方法  googleplay官方入口在哪里_Google Play官方商店快速入口指南  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)  如何用免费手机建站系统零基础打造专业网站?  Laravel如何使用Eloquent进行子查询  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用