[发明专利]一种PHP定时任务管理方法及系统有效
申请号: | 201910930173.6 | 申请日: | 2019-09-29 |
公开(公告)号: | CN110716798B | 公开(公告)日: | 2021-11-19 |
发明(设计)人: | 唐俊;彭冬 | 申请(专利权)人: | 微梦创科网络科技(中国)有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F16/16 |
代理公司: | 北京卓岚智财知识产权代理事务所(特殊普通合伙) 11624 | 代理人: | 郭智 |
地址: | 100193 北京市海淀区东北旺西路中关村*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 php 定时 任务 管理 方法 系统 | ||
1.一种PHP定时任务管理方法,其特征在于,所述方法包括:
根据设定的时间周期执行PHP入口文件;
获取所述PHP入口文件目录下的所有PHP类文件,并利用反射机制解析每个PHP类文件执行方法的注释;
根据所述执行方法的注释,执行所述PHP类文件;
在所述PHP类文件执行完成后,记录所述PHP类文件的执行完成时间;
其中,所述PHP类文件执行方法的注释包括对应PHP类文件的执行周期及依赖方法;
所述根据所述执行方法的注释,执行所述PHP类文件,包括:
根据PHP类文件的前次执行时间以及执行周期,判断所述PHP类文件在时间上是否进入当前执行周期;根据所述PHP类文件的依赖方法,判断所述PHP类文件是否有依赖的方法;
对于没有依赖的方法的PHP类文件,在进入当前执行周期时,执行所述PHP类文件;
对于有依赖的方法的PHP类文件,在进入当前执行周期并且其依赖的方法已执行完成时,执行所述PHP类文件。
2.如权利要求1所述的PHP定时任务管理方法,其特征在于,根据设定的时间周期执行PHP入口文件,包括:
根据设定的时间周期,通过操作系统linux 的程序指令crontab启动PHP入口文件的执行指令。
3.如权利要求1所述的PHP定时任务管理方法,其特征在于,所述PHP类文件的执行完成时间为所述PHP类文件执行完成时系统的unix时间戳;所述在所述PHP类文件执行完成后,记录所述PHP类文件的执行完成时间,包括:
对于单机部署的PHP类文件,将所述PHP类文件的执行完成时间写入系统本地文件中;
对于多机部署的PHP类文件,将所述PHP类文件的执行完成时间写入mysql数据库或者分布式应用程序协调服务zookeeper中。
4.一种PHP定时任务管理系统,其特征在于,所述系统包括:
入口文件执行单元,用于根据设定的时间周期执行PHP入口文件;
类文件获取单元,用于获取所述PHP入口文件目录下的所有PHP类文件,并利用反射机制解析每个PHP类文件执行方法的注释;
类文件执行单元,用于根据所述执行方法的注释,执行所述PHP类文件;
完成时间记录单元,用于在所述PHP类文件执行完成后,记录所述PHP类文件的执行完成时间;
其中,所述PHP类文件执行方法的注释包括对应PHP类文件的执行周期及依赖方法;
所述类文件执行单元包括:
判断模块,用于根据PHP类文件的前次执行时间以及执行周期,判断所述PHP类文件在时间上是否进入当前执行周期;根据所述PHP类文件的依赖方法,判断所述PHP类文件是否有依赖的方法;
执行模块,用于对于没有依赖的方法的PHP类文件,在进入当前执行周期时,执行所述PHP类文件;
对于有依赖的方法的PHP类文件,在进入当前执行周期并且其依赖的方法已执行完成时,执行所述PHP类文件。
5.如权利要求4所述的PHP定时任务管理系统,其特征在于,所述入口文件执行单元,具体用于:
在根据设定的时间周期,通过操作系统linux 的程序指令crontab启动PHP入口文件的执行指令。
6.如权利要求4所述的PHP定时任务管理系统,其特征在于,所述PHP类文件的执行完成时间为所述PHP类文件执行完成时系统的unix时间戳;所述完成时间记录单元具体用于:
对于单机部署的PHP类文件,将所述PHP类文件的执行完成时间写入系统本地文件中;
对于多机部署的PHP类文件,将所述PHP类文件的执行完成时间写入mysql数据库或者分布式应用程序协调服务zookeeper中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微梦创科网络科技(中国)有限公司,未经微梦创科网络科技(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910930173.6/1.html,转载请声明来源钻瓜专利网。