如何具体实现PHP定时器实例解析?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1703个文字,预计阅读时间需要7分钟。
目录+前言+原因+危险的做法+正确的姿势+CLI模式+总结+前言+常见的定时器有两种:一种是有周期性的,例如每天凌晨三点执行报表;另一种是在指定时间后执行一次,例如员工登录时执行操作。
目录
- 前言
- 原因
- 危险的做法
- 正确的姿势
- CLI模式
- 总结
前言
常见的定时器有两种:一种周期性定时执行,例如每天的凌晨三点出报表;另一种在指定时间后执行(一次),例如会员登录系统五分钟后发放每日登录奖励。两种情况对应shell中的cron和at命令,与JavaScript中的setInterval和setTimeout函数类似(严格来说setInterval是周期性执行,指定时间点执行需要自行处理)。
做web开发的PHP程序员对JavaScript中的两个定时器函数应该都还熟悉,回到PHP层面就有点傻眼:PHP中有sleep,但是没有(内置)定时器函数可用。sleep函数勉强可以做到,但会导致进程阻塞,期间不能做其他事(或无响应)。为什么PHP没能提供定时器(Timer)这个功能呢?
原因
个人认为,web开发中PHP不能使用定时器的本质原因是可控 常驻内存运行环境的缺失。两个要点:第一常驻内存,第二可控。
本文共计1703个文字,预计阅读时间需要7分钟。
目录+前言+原因+危险的做法+正确的姿势+CLI模式+总结+前言+常见的定时器有两种:一种是有周期性的,例如每天凌晨三点执行报表;另一种是在指定时间后执行一次,例如员工登录时执行操作。
目录
- 前言
- 原因
- 危险的做法
- 正确的姿势
- CLI模式
- 总结
前言
常见的定时器有两种:一种周期性定时执行,例如每天的凌晨三点出报表;另一种在指定时间后执行(一次),例如会员登录系统五分钟后发放每日登录奖励。两种情况对应shell中的cron和at命令,与JavaScript中的setInterval和setTimeout函数类似(严格来说setInterval是周期性执行,指定时间点执行需要自行处理)。
做web开发的PHP程序员对JavaScript中的两个定时器函数应该都还熟悉,回到PHP层面就有点傻眼:PHP中有sleep,但是没有(内置)定时器函数可用。sleep函数勉强可以做到,但会导致进程阻塞,期间不能做其他事(或无响应)。为什么PHP没能提供定时器(Timer)这个功能呢?
原因
个人认为,web开发中PHP不能使用定时器的本质原因是可控 常驻内存运行环境的缺失。两个要点:第一常驻内存,第二可控。

