当前位置: 首页 > 后端技术 > PHP

tp5.1定时任务实现

时间:2023-03-29 16:58:14 PHP

前言我和小伙伴们用thinkphp5.1写了一个微课堂小系统。我们想实现一个每日上课提醒和数据初始化功能。现在方法写好了,但是每次执行都需要在管理员界面手动点击,感觉很麻烦。怎么每天自动执行呢?之前的方法在谷歌上搜索tp5.1定时任务或者计划任务,会有很多博客,但是大多是linux下的脚本。刚刚安装了Linux系统,对Linux不熟悉。首先,我使用Windows系统来实现它。windows环境下的思路和linux环境下是一样的。1、现在把实现方法写成触发器,点击跳转即可实现实现。2.写一个自动打开网页的脚本。3、使用windows自带的定时任务,定时自动执行这个脚本。实现1.我们现在在登录控制器下写一个测试触发器publicfunctiontest()//自动执行测试{echo"Thisisatestforatimedtask";}触发效果如下2.在里面写一个脚本.bat的形式,自动打开这个页面。再新建一个.txt文件,写入执行成功信息。代码如下@echooffstartiexplore.exehttp://127.0.0.1/index/login/testPing-n5127.1>nulTaskkill/f/imiexplore.exeechosuccess>>test.txtstartiexplore.exehttp://127.0.0.1/index/login/test表示打开浏览器的网址,具体网址写在最后,ping-n5127.1>nul表示等待5秒,taskkill/f/imiexplore.exe表示关闭浏览器,echosuccess>>test.txt表示返回成功到记事本。由于写注释会报代码错误,所以这里写代码注释。点击测试.bat文件记事本效果如下图所示。也可以把记事本写的代码改成钉钉提醒代码如下curl-XPOST-H"Content-type:application/json"^--data"{\"text\":{\"content\":\"Dailyinitialcompletion\"},\"msgtype\":\"text\"}"^https://oapi.dingtalk.com/robot/send?access_token=23dc64f0dee37b5ee3b1ac472b2c84d837afa15b2a884b87b32f898998408a36由于钉钉机器人功能暂时关闭,将这里不做演示。3、利用Windows自带的定时任务实现定时自启动脚本。打开控制面板,点击管理工具->任务计划->创建基本任务名称:DailyInitialTrigger:每天开始://选择一个你喜欢的时间操作:启动程序->选择这个脚本,之后会自动启动设定的时间。结束语Linux系统的具体操作方法不同,但思路是一样的。我将提供我在下面看到的博客的链接。等我了解了linux系统之后,再用linux系统来实现。tp5.1php定时任务crontab