crontab wget命令定时执行thinkphp的控制器实现定时任务
2014-07-28 15:16
453 查看
背景:项目里需要配置个定时任务扫描订单数据表里的数据,将快要到期的订单标记出来,写到系统消息提醒表里。以前配置过crontab直接执行php脚本,然后一路全面向过程的方式将业务实现到底。最近项目用了thinkphp框架,想着框架对于数据操作封装的便利,就不想再单独下php脚本文件运行了。但是,在项目里写的controller控制器文件,配置到crontab里new之后调用对应方法完全没效果。折腾了一些时间,发现没弄好后,就果断放弃了,想到linux的命令wget。于是开始配置wget,将地址设为要执行的controller对应的地址,最终这种方式是可以的。但是,必须记得的是任务运行的controller最好继承一个基类,然后在基类的thinkphp初始函数_initialize里写上验证部分,这样可以尽量避免外部访问(可以验证访问ip是不是本机或者访问地址里带上username和pwd之类的)。
以上属于业务的说明,下面直接上代码
-t : 连接次数(失败后重连)
-T: 连接时间设置(0不会超时)
-q: 安静模式 (不输出讯息)
--spider: 不下载任何资料
备注:有点问题的是这种属于web形式,虽然在访问的控制器里有ip和秘钥验证,但不确定会不会有什么安全隐患。
以上属于业务的说明,下面直接上代码
01 * * * * root wget -t 1 -T 0 -q --spider "http://localhost/tptest/index.php?c=timetask&a=get_sys_warm&visit_name=123456&visit_pwd=123456"其中用到了wget命令几个参数:
-t : 连接次数(失败后重连)
-T: 连接时间设置(0不会超时)
-q: 安静模式 (不输出讯息)
--spider: 不下载任何资料
备注:有点问题的是这种属于web形式,虽然在访问的控制器里有ip和秘钥验证,但不确定会不会有什么安全隐患。
相关文章推荐
- crontab wget命令定时执行thinkphp的控制器实现定时任务
- ThinkPHP实现定时执行任务
- ThinkPHP实现定时执行任务的两种方法
- ThinkPHP框架实现定时执行任务的两种方法分析
- 使用任务计划功能结合shutdown命令让Win7实现定时自动执行
- ThinkPHP实现定时执行任务的两种方法
- Linux定时执行任务命令概述:at和crontab
- 使用ASP.NET实现Windows Service定时执行任务
- oracle怎么实现每天定时执行一个计划任务
- Linux定时执行任务命令概述:at和crontab
- Linux crontab定时执行任务 命令格式与详细例子
- Web后台任务定时执行工具的设计与实现
- JAVA技巧(Java定时执行任务的实现方法) 定时执行任务的三种方法
- WPF中实现定时执行的任务
- php守护进程,加linux命令nohup实现任务每秒执行一次
- Linux crontab定时执行任务 命令格式与详细例子
- php守护进程 加linux命令nohup实现任务每秒执行一次
- 利用Cache,asp.net 简单实现定时执行任务
- Windows 自动定时执行任务的几种实现方法
- 使用ASP.NET实现Windows Service定时执行任务