下面由thinkphp框架教程栏目给大家详解thinkphp5.1如何实现定时任务,希望对需要的朋友有所帮助!
前言
我和我的小伙伴们用thinkphp5.1写了一个微课堂的的小系统,要实现一个每天上课提醒和数据初始化的功能,现在方法写好了,不过每次执行都需要在管理员界面手动点一下,感觉好麻烦,如何让他每天定时自动执行呢?
前人方法
谷歌上搜tp5.1 定时任务或者计划任务,会有很多博客,但是大多数都是Linux下的脚本,本人刚刚安装上Linux系统,对Linux不太熟悉,先用Windows系统实现。
思路
windows环境下与Linux环境下实现思路是一样的。
1.现将实现方法写到一个触发器里,实现可以点击跳转实现。
2.写一个脚本,实现自动打开摸个网页。
3.利用windows自带的定时任务每隔一段时间自动执行这个脚本。
实现
1.我们现在login控制器下写一个测试的触发器
public function test() // 自动执行测试{ echo "这是一个定时任务的测试";}
触发效果如下
立即学习“PHP免费学习笔记(深入)”;
2.写一个.bat形式的脚本,实现自动打开本网页。
再建一个.txt文件,写入执行成功信息。
代码如下
@echo offstart iexplore.exe http://127.0.0.1/index/login/test Ping -n 5 127.1>nul Taskkill /f /im iexplore.exeecho success >> test.txt
start iexplore.exe http://127.0.0.1/index/login/test 表示打开浏览器的网址具体网址写在最后,Ping -n 5 127.1>nul 表示等待5秒,Taskkill /f /im iexplore.exe表示关闭浏览器,echo success >> test.txt表示返回成功到记事本,由于写注释在代码中会报错,故在此写一下代码注释。
点击测试.bat文件
ViiTor实时翻译
AI实时多语言翻译专家!强大的语音识别、AR翻译功能。
116 查看详情
记事本效果如下图
也可以把写入记事本的代码改成钉钉提醒
代码如下
curl -X POST -H "Content-type: application/json" ^--data "{"text": {"content": "每日初始完成"}, "msgtype": "text"}" ^https://oapi.dingtalk.com/robot/send?access_token=23dc64f0dee37b5ee3b1ac472b2c84d837afa15b2a884b87b32f898998408a36
由于现在增加钉钉机器人功能暂时关闭,在此不再演示。
3.用windows自带计划任务实现定时自启动脚本
点开控制面板,点击管理工具->任务计划程序->创建基本任务
名称:每日初始
触发器:每天
开始: //选择一个你喜欢的时间
操作:启动程序->选中这个脚本
完成
到设定的时间他就会自动启动。
结语
Linux系统具体操作方法不一样,但思路都是一样的,我将我看到的一篇博客连接提供到底下,等我了解Linux系统后,用Linux系统实现。
相关推荐:最新的10个thinkphp视频教程
以上就是详解thinkphp5.1如何实现定时任务的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/346276.html
微信扫一扫
支付宝扫一扫