timePHP是一个基于php cli开发的定时脚本框架

网友投稿 747 2022-10-31

timePHP是一个基于php cli开发的定时脚本框架

timePHP是一个基于php cli开发的定时脚本框架

timePHP

timePHP用途?

timePHP是一个基于php cli开发的定时脚本框架,可以实现简单的配置,自己的逻辑代码纯php无需写shell脚本 易管理,易开发,支持自定义多进程,时间周期可以按(月日,星期几,天,小时,分钟,秒)来执行,等功能。 简单的配置一下就可以根据需求开发自己的逻辑代码【此框架暂只支持liunx系统】。

timePHP操作命令

全部启动命令

[root@FX-DEBUG taskphp]# php ./start.php start----------------------- timePHP -----------------------------timePHP version:1.0 PHP version:5.6.9------------------------ timePHP -------------------------------pid name status14524 backup [OK] 14525 clearmeesage [OK] 14526 clearrom [OK] -----------------------------------------------------------

查看任务列表

[root@FX-DEBUG taskphp]# php ./start.php status----------------------- timePHP -----------------------------timePHP version:1.0 PHP version:5.6.9------------------------ timePHP -------------------------------pid name status14524 backup [OK] 14525 clearmeesage [OK] 14526 clearrom [OK] -----------------------------------------------------------

退出程序

[root@FX-DEBUG taskphp]# php ./start.php kill [退出成功]

目录结构

./start.php 入口启动文件./app 任务主目录./app/任务名 独立任务目录 ./app/任务名/config.php 该任务的配置文件 ./app/任务名/function.php 该任务的函数./app/任务名/任务名Task.class.php 任务入口文件./app/任务名/Demo.php 自定义封装类可以不要 ./extend 第三方插件目录./timephp 框架核心文件

配置文件规范

* @copyright TimePHP * @license https://github.com/qq8044023/timePHP * */return [ "TASK"=>array(//任务相关配置【必填项】 "name"=>"backup",//进程名 "count"=>1,//进程数 默认为1,如果要开启多进程 请开启redis 使用队列 "status"=>1,//1 启动 -1停止 "processType"=>false,//默认false (该选项只有系统进程才会用到) /** * 格式 * m 1,3,5,12,25 12:20:00 每个月的几号几点执行 * w 1,3,5 12:20:00 一周的1,3,5 12:20:00执行一次 0是星期天 * d 12:20:00 每天12:20:00执行一次 * h 2 每2小时执行一次 * i 2 每2分钟执行一次 * s 3 每3秒执行一次 * */ "timeType"=>"s",//时间类型 m号 w周 d天 h小时 i分钟 s秒 "timePeriod"=>"5",//时间 ), /** 数据库连接配置 */ 'DB_TYPE' => "mysql", // 数据库类型 'DB_HOST' => "127.0.0.1", // 服务器地址 'DB_NAME' => "demo", // 数据库名 'DB_USER' => "root", // 用户名 'DB_PWD' => "root", // 密码 'DB_PORT' => 3306, // 端口 'DB_PREFIX' => "tourism_", // 数据库表前缀 'DB_PARAMS'=>array('persist'=>true),//是否支持长连接 true是 false 否];?>

数据库操作

数据库操作和ThinkPHP一样

namespace app\backup;use lib\Task;use lib\common\SystemFun;/** * @author 村长<8044023@qq.com> * @copyright TimePHP * @license https://github.com/qq8044023/timePHP */class backupTask extends Task{ public function run(){ //初始化数据库配置信息 SystemFun::Config($this->getConfig()); //实例化模型 和 thinkphp的M()方法一样,操作也是一样 $model=SystemFun::model("gameActivity"); //执行查询一条数据 $res=$model->where(array("id"=>1))->find(); var_dump($res); }}

获取配置文件信息

$config=$this->getConfig();var_dump($config);

引用第三方插件

如: * @copyright TimePHP * @license https://github.com/qq8044023/timePHP */class clearmeesageTask extends Task{ public function run(){ SystemFun::import("extend@PHPMailer@PHPMailerAutoload"); $mail = new \PHPMailer(); //PHPMailer对象 }}?>

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Mysql 45讲学习笔记(十八)SQL语句逻辑相同,性能差距巨大
下一篇:Spring--循环依赖的原理(二)--打断点分析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~