旗下导航:搜·么
当前位置:网站首页 > PHP框架 > Swoole > 正文

swoole能设置多个定时器吗【swoole】,swoole

作者:搜搜PHP网发布时间:2019-12-17分类:Swoole浏览:58


导读:起首,在种种营业型体系中,每每须要服务器在背景扫描相干数据,触发响应的统计、关照等操纵。比方关于一个项目治理体系,须要天天的特定时间内,统计每项使命的实行、到期状况、全...

起首,在种种营业型体系中,每每须要服务器在背景扫描相干数据,触发响应的统计、关照等操纵。

比方关于一个项目治理体系,须要天天的特定时间内,统计每项使命的实行、到期状况、全部项目的进度等等,依据统计状况,做响应关照处置惩罚; (引荐进修: swoole视频教程)

如许一个场景,怎样编程完成?

用平常的编程体式格局,是没法完成自动触发与统计的。固然,简朴的思绪,是利于体系的cron job机制。但这类体式格局,关于设置及可靠性方面,须要比较多的工资操纵要素。

Swoole是一个运用c开发的php扩大,经由过程php就能够完成高性能web服务器,同时,还内置了定时器Timer、使命行列Task特征。如许,基于swoole,你能够在顺序层面掌握完成体式格局,削减对外部东西 - 自力的音讯行列服务器、定时使命治理东西等的依赖性。

swoole的壮大的地方就在与其历程模子的设想,既处理了异步问题,又处理了并行。

用法以下:

swoole_server_addtimer($serv, 10);

第二个参数是定时器的间隔时间,单元为秒。swoole定时器的最小颗粒是1秒。支撑多个定时器。注重不能存在2个雷同间隔时间的定时器。 增添定时器后须要写一个回调函数。

细致代码以下:

swoole_server_handler($serv, 'onTimer', my_OnTimer);
function my_OnTimer($serv, $interval)
{
  echo "Timer[$interval] is call\n";
}

Task模块,用来做一些异步的慢速使命,比方webim中发播送。相似node.js,假如有10万个衔接,要发播送时,那会轮回10万次,这时候顺序不能做任何事情,不能接收新的衔接,也不能收包发包。

而swoole差别,丢给task历程以后,你的reactor,worker照跑不误。使命完成后会异步地关照worker历程通知它此使命已完成。

以上就是swoole能设置多个定时器吗的细致内容,更多请关注ki4网别的相干文章!

标签:swoole