编程学习网 > PHP技术 > swoole > Swoole Timer 的应用
2019
11-30

Swoole Timer 的应用

Swoole Timer 的应用

PHP 的协程高性能网络通信引擎,使用 C/C++ 语言编写,提供了多种通信协议的网络服务器和客户端模块。


Swoole 可应用于互联网、移动通信、企业软件、网络游戏、物联网、车联网、智能家庭等领域。

学习 Swoole 之前,最好先了解下底层知识,比如,线程/进程、IO、TCP/IP协议 等。

这篇文章主要分享 Timer 毫秒精度的定时器。

本地版本:PHP 7.2.6、Swoole 4.3.1。

Timer

主要有三个方法:

swoole_timer_tick 间隔的时钟控制器

swoole_timer_after 指定的时间后执行

swoole_timer_clear 删除定时器

示例代码:

运行结果:

应用场景

一、比如,每天凌晨跑业务脚本,脚本中包括了请求其他业务方或第三方的接口,如果接口超时无响应或没有数据返回,需要进行重试。

重试机制为:每5隔分钟再发送一次请求,最多尝试5次,在5次内成功停止该任务,5次仍失败也停止该任务。

示例代码:

运行结果:

二、比如,设计一个用WEB界面管理管理定时任务的系统。

Linux Crontab 最小时间粒度为分钟。

PHP Swoole 最小时间粒度为毫秒。

WEB界面管理

登录、权限管理
任务管理(增删改查)
脚本机管理(机器IP地址)
任务日志
架构图

项目地址

https://github.com/osgochina/Donkey

三、比如,监控服务器状况。

参考文档

https://wiki.swoole.com/wiki/page/p-timer.html

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取