怎么java定时执行任务务

PHP的实现决定了它没有Java和.Net这种AppServer的概念, 而http协议是一个无状态的协议, php只能被用户触发, 被调用, 调用后会自动退出内存, 没有常驻内存, 就没有办法准确的定时处理那么, 如果需要用PHP定时执行某些任务的话, 可以有以下俩个方法:
Linux下crontab, windows下计划任务找个被频繁调用的网页, 里面加上一个检测代码set_time_limit(0);ignore_user_abort(true);死循环第一个方法是最常见的, 如果php服务器上没有权限去crontab, 也可以找一个自己的机器定期crontab去请求服务器第二种方法, 论坛上定时清理新帖基本上就是这么实现的, 如果人气不旺的话, 可以考虑去别的火爆点的论坛里面发个图片, 调用自己的php来实现一个trigger就好了。 Discuz!是判断在00:00之后,第一个执行者去执行的。第三种比较不靠谱, Apache重启了就得重新访问,& fastcgi倒是会好一点。
下面的这段代码,可以在当前文件夹下,生成一个test.txt,并每隔20秒,往里面写入一个时间戳,无论客户端是否关闭浏览器。
&?phpignore_user_abort(true);set_time_limit(0);
function write_txt(){if(!file_exists(&test.txt&)){$fp = fopen(&test.txt&,&wb&);fclose($fp);}$str = file_get_contents(&test.txt&);$str .= &\r\n&.date(&H:i:s&);$fp = fopen(&test.txt&,&wb&);fwrite($fp,$str);fclose($fp);}
function do_cron(){usleep();write_txt();}
while(1){do_cron();}
关键的两个函数:
ignore_user_abort(true),这个函数的作用是,无论客户端是否关闭浏览器,下面的代码都将得到执行。
set_time_limit(0),这个函数的作用是,取消php文件的执行时间,如果没有这个函数的话,默认php的执行时间是30秒,也就是说30秒后,这个文件就say goodbay了。
另外usleep在PHP5.0之后,支持windows操作系统。
我们在做一个php 邮件发送问题是常常会遇见这样的问题,就是用户订阅一些资料需要定时发送到用户的邮箱中去。去网上搜索了一下,发现在这样的文章不多,本文介绍了一种用PHP实现的方法,笔者用PHP的时间不长,欢迎大家PP。
  一、要实现定时发送,主要解决问题是定时。
  我们在写程序时需要加个什么if 某个时间=某个时间则发送,可是要实现这个过程,面临的问题是,我们要执行这个页面才能发送。所以主要解决的问题是怎么到时让服务器定时执行这个页面,这样实现起来好像比较困难。
  二、我翻开PHP手册,找到了PHP 的命令行模式这一章,发现能解决这一问题,建议大家如果想用这个方法的话先看看这一章。
 三、解决方法:
1、在 Windows 平台下您可以将cli\php.exe 和 .php 文件的双击属性相关联,您也可以编写一个批处理文件来用 PHP 执行脚本。我们把写好的程序放在一个目录下如 E:\web\mail.php
然后写一个windows批处理文件内容如下。
@D:\php\cli\php.exe E:\web\mail.php &d:\php\cli\sendmail.log
那个D:\php\cli\php.exe是我的PHP***文件所在目录。Php.exe就是windows PHP命令行模式的程序。
好的,我们保存这个文件为mail.bat然后的windows中的计划任务中添加一个任务,让操作系统在某个时间来运行这个批处理文件。
2、如果您使用 Unix 系统,您需要在您的 PHP 脚本的最前面加上一行特殊的代码,使得它能够被执行,这样系统就能知道用什么样的程序要运行该脚本。为 Unix 系统增加的第一行代码不会影响该脚本在Windows 下的运行,因此您也可以用该方法编   写跨平台的脚本程序。
ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.
set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去
$interval=60*30;// 每隔半小时运行
//这里是你要执行的代码
sleep($interval);// 等待5分钟
}while(true);
阅读(...) 评论()猜你喜欢的教程
热门的教程
&软件下载排行
Copyright @ 2014 系统家园
系统家园收集最新的软件下载、绿色软件、安卓游戏、苹果游戏、安卓软件、是您身边最安全的软件下载站。
提供最火爆的,绿色软件下载,做最好的安全下载站!
本站资源均收集整理于互联网,其著作权归原作者所有,如果有侵犯您权利的资源,请来信告知,我们将及时撤销相应资源。京 东 价:
[定价:¥]
PLUS会员专享价
支  持:
重  量:
搭配赠品:
服务支持:
加载中,请稍候...
加载中,请稍候...
加载中,请稍候...
执行:如何完成任务的学问
商品介绍加载中...
扫一扫,精彩好书免费看
  “一位伟大的实践者和一名出色的理论家共同讲述的关于如何将战略转化为企业运营实践的商业故事。”  ——杰克·韦尔奇  “如果你希望成为一名CEO,或者如果你已经是一名CEO,并希望保住这份工作,我都建议你读读这本书,并将其中的原理应用到实际的工作当中去”  ——迈克·戴尔(戴尔计算机公司总裁兼CEO)  “本书包含的极富实践意义的见解和建议值得所有公司的管理者们借鉴。执行是关键,本书清楚地向您解释了执行的意义,并详细讨论了执行是如何将企业的三个核心流程——人员、战略和运营——整合到一起的。”  ——L.R.雷蒙德 埃克林(Exxon)石油公司总裁兼CEO  “如果不能被付诸实施的话,再周密的计划也是一钱不值。这也正是本书讨论的核心内容。《执行:如何完成任务的学问》为那些希望将计划付诸实施的管理者们提供了非常实际的建议,值得一读。”  ——拉尔夫·拉尔森 强生公司总裁兼CEO  对于企业来讲,制定正确的战略固然重要,但更重要的是战略的执行。能否将既定战略执行到位是企业成败的关键。愿《执行》能帮助我们更好地“执行”!  ——杨元庆 联想集团总裁兼CEO  这里提供了一种关于如何将目标变成现实的彻底而系统的方法。对于那些寻求提高组织效率和效力的人来说,这是一本值得一读的书。  ——Rosalie&L.Tung(董林雪英) 世界管理科学会执行会长加拿***雷蒙商学院教授  毫无疑问,《执行》这本书应当成为中国企业领导人在今后一段时间里最为重要的读物。该书不仅告诉我们执行的重要性,更强调如何开始向执行型的领导才能过渡,这些是值得每一位首席执行官、高级领导认真学习与实践的。  ——戈泽宁 美国六西格玛国际学院院长
京东商城向您保证所售商品均为正品行货,京东自营商品开具机打***或电子***。
凭质保***及京东商城***,可享受全国联保服务(奢侈品、钟表除外;奢侈品、钟表由京东联系保修,享受法定三包售后服务),与您亲临商场选购的商品享受相同的质量保证。京东商城还为您提供具有竞争力的商品价格和,请您放心购买!
注:因厂家会在没有任何提前通知的情况下更改产品包装、产地或者一些附件,本司不能确保客户收到的货物与商城图片、产地、附件说明完全一致。只能确保为原厂正货!并且保证与当时市场上同样主流新品一致。若本商城没有及时更新,请大家谅解!
权利声明:京东上的所有商品信息、客户评价、商品咨询、网友讨论等内容,是京东重要的经营资源,未经许可,禁止非法转载使用。
注:本站商品信息均来自于合作方,其真实性、准确性和合法性由信息拥有者(合作方)负责。本站不提供任何保证,并不承担任何法律责任。
印刷版次不同,印刷时间和版次以实物为准。
价格说明:
京东价:京东价为商品的销售价,是您最终决定是否购买商品的依据。
划线价:商品展示的划横线价格为参考价,该价格可能是品牌专柜标价、商品吊牌价或由品牌供应商提供的正品零售价(如厂商指导价、建议零售价等)或该商品在京东平台上曾经展示过的销售价;由于地区、时间的差异性和市场行情波动,品牌专柜标价、商品吊牌价等可能会与您购物时展示的不一致,该价格仅供您参考。
折扣:如无特殊说明,折扣指销售商在原价、或划线价(如品牌专柜标价、商品吊牌价、厂商指导价、厂商建议零售价)等某一价格基础上计算出的优惠比例或优惠金额;如有疑问,您可在购买前联系销售商进行咨询。
异常问题:商品促销信息以商品详情页“促销”栏中的信息为准;商品的具体售价以订单结算页价格为准;如您发现活动商品售价或促销信息有异常,建议购买前先联系销售商咨询。
加载中,请稍候...
加载中,请稍候...
加载中,请稍候...
加载中,请稍候...
加载中,请稍候...
加载中,请稍候...
加载中,请稍候...
浏览了该商品的用户还浏览了
加载中,请稍候...
七日畅销榜
新书热卖榜
iframe(src='///ns.html?id=GTM-T947SH', height='0', width='0', style='display: visibility:')

参考资料

 

随机推荐