计划任务就是在特定的时间来运行脚本、程序、命令、批处理等。在win系统中,可以通过任务控制台直接管理计划任务。在Linux系统中,需要通过crontab命令来控制,具体的方法不再说明,今天主要分享在PHP中如何实现计划任务。
众所周知,系统计划任务,每一条即为一个任务,需要设计每个任务的运行时间,重复频率等等。但是任务往往是非常多的,大任务都会分解成多个小的任务去执行,如果这时把每个任务都配在系统中,一则不太方便维护,再则不可控。
实现的方法
1、定义数据库任务表 ,该表保存任务名称、开始运行日期、结束日期、开始运行时间、结束时间、运行频率、运行脚本命令等等。
2、定义任务基类 ,该类中定义一些常用的属性和方法
3、定义Main运行方法 ,该方法自身判断需要运行哪些子任务,哪些任务可以运行,哪些不能运行。该方法是需要加入到系统计划任务中的。
4、按不同的任务进行分类,定义子任务实现方法 ,如定期清除过期数据等
5、将主任务Main放入到系统任务中 ,通过crontab定义或win任务控制台。
友情说明:为了确保任务代码仅用于计划任务使用,可以用PHP_SAPI==’cli’来限制一下。