用户名:张涛泽
文章数:167
访问量:2620
注册日期:
阅读量:1297
阅读量:3317
阅读量:580811
阅读量:464169
51CTO推荐博文
定时任务的实现有3种方式:①while死循环 ②linux crontab ③Java TimerTask以后补充③还有一种不精确的方法是TimerTask。1&&&&&&&&&TimerTask&task&=&new&TimerTask()&{2&&&&&&&&&&&&&@Override3&&&&&&&&&&&&&public&void&run()&{4&&&&&&&&&&&&&&&&&//do&something5&&&&&&&&&&&&&}6&&&&&&&&&};7&&&&&&&&&Timer&t&=&new&Timer();8&&&&&&&&&t.scheduleAtFixedRate(task,&6);对scheduleAtFixedRate方法的解释:Timer.class的源码是这样写的。long delay是启动这个定时任务的延迟:System.currentTimeMillis()+delay;long period是between successive task executions.成功执行后,过period时间,再次执行一次定时任务。&1&&&&&&/*&2&&&&&&*&@param&task&&&task&to&be&scheduled.&3&&&&&&*&@param&delay&&delay&in&milliseconds&before&task&is&to&be&executed.&4&&&&&&*&@param&period&time&in&milliseconds&between&successive&task&executions.&5&&&&&&*&@throws&IllegalArgumentException&if&&tt&delay&/tt&&is&negative,&or&6&&&&&&*&&&&&&&&&&tt&delay&+&System.currentTimeMillis()&/tt&&is&negative.&7&&&&&&*&@throws&IllegalStateException&if&task&was&already&scheduled&or&8&&&&&&*&&&&&&&&&cancelled,&timer&was&cancelled,&or&timer&thread&terminated.&9&&&&&&*/10&&&&&public&void&scheduleAtFixedRate(TimerTask&task,&long&delay,&long&period)&{11&&&&&&&&&if&(delay&&&0)12&&&&&&&&&&&&&throw&new&IllegalArgumentException("Negative&delay.");13&&&&&&&&&if&(period&&=&0)14&&&&&&&&&&&&&throw&new&IllegalArgumentException("Non-positive&period.");15&&&&&&&&&sched(task,&System.currentTimeMillis()+delay,&period);16&&&&&}
了这篇文章
类别:未分类┆阅读(0)┆评论(0)真心觉得定时任务不好写,还是我姿势不对 – 恋羽日记
2017年十月
91011121415
16171819202122
23242526272829TP3.2.2 定时任务是怎么实现的? - ThinkPHP框架
TP当前最新版本3.2.2的定时任务(计划任务)是怎么执行的?该修改那些配置啊?发觉这方面的资料甚少,手册亦未曾提及,琢磨数日,项目之紧迫,尤为焦虑,不知可有大牛实现过,可将经验分享否?某在此先言谢了!!
----------------------------
目录大致结构:
/Application/Admin (admin分组)
/Application/Common
第一步:/Application/Common/Conf目录下新建两个文件:
/Application/Common/Conf/tags.php
/Application/Common/Conf/crons.php
1) 新建 tags.php,编辑内容如下:
return array(
'app_end' =& array('Behavior\CronRunBehavior'),
2) 新建 crons.php ,编辑内容如下:
return array(
'cron_1' =& array('myplan', 1),
第二步:/Application/目录下新建 Cron文件夹,里面新建文件myplan.php文件
路径如:/Application/Cron/myplan.php
编辑内容如下:
echo 11111;
---------------------
DEBUG调试的错误:
[2] include() [&a href='function.include'&function.include&/a&]: Failed opening './Educ/Common/Cron/myplan.php' for inclusion (include_path='.;C:\php5\pear') E:\wamp\www\edunew\ThinkPHP\Library\Behavior\CronRunBehavior.class.php 第 44 行.
上面这个错误解决了,已经不报错了,但是就是页面执行之后没效果,myplan.php文件里面要执行的计划任务方法该如何写?需要继承控制器吗?如何执行当前计划任务,再查看执行的效果呢?
----------------------- 下午 17:51分进度
现在貌似已经能够生成Application/Runtime/~crons.php,文件内容如下:
return array (
'cron_1' =&
0 =& 'myplan',
设置的是2秒执行一次,每次执行后,这里的缓存时间戳都有变化,请问这样是不是表示计划任务能够正常运行了?再者,我在myplan.php里面定义的
echo 1111 在计划任务执行后,能正常在页面输出吗?现在好像没输出
ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。