Thinkphp5 主动式 计划任务 支持windows和linux

本文介绍如何利用Thinkphp5的命令行功能,结合Linux的crontab思想,实现一个支持Windows和Linux的主动式计划任务系统。通过在配置文件中设定计划任务,并在项目中创建执行文件,简化了计划任务的管理和部署。详细步骤包括添加配置、编写命令行脚本以及在Linux下设置crontab。
摘要由CSDN通过智能技术生成

之前发布过一篇文章,说过这个tp5框架的命令行功能和实现计划任务的可能性。但是那篇文章只是提供了一个思路,还没有真正实现计划任务。今天有空终于把这个功能实现了。

百度搜索过相关的php计划任务的资料,特别是搜索thinkphp的计划任务,目前能明确实现的都是被动式的,就是通过tp3.2自带的计划任务类实现,通过挂钩子的形式,用户访问网站的时候就执行计划任务,这种不是我们需要,我们需要的是全自动,而且配置方便的。在GitHub上搜索的php计划任务有点脱离的tp5框架,如果用的话,需要加载tp5的底层类才行。

我实现的方法就是利用tp5命令行的功能,它能加载底层而且可以让框架在命令行上运行,这样最后部署的时候都可以很容易适应windows和linux,另外一个就是引用了linux的crontab思想,我把配置都放到同一个项目文件下面,这样就不需要为每一个计划任务去设置系统计划配置了。

好了,上代码的时候了。因为能力有限,暂时不能为大家做一个composer的包。

第一步:设置计划任务的配置

在application\config.php下面添加这个配置,熟悉crontab的朋友就觉得这个格式是不是很像。

/*每分钟*/
    /*每小时 某分*/
    /*每天 某时:某分*/
    /*每周-某天 某时:某分  0=周日*/
    /*每月-某天 某时:某分*/
    /*某月-某日 某时-某分*/
    /*某年-某月-某日 某时-某分*/
    'sys_crond_timer' => array('*', '*:i', 'H:i', '@-w H:i', '*-d H:i'
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值