Maison  >  Article  >  développement back-end  >  如何定时执行

如何定时执行

WBOY
WBOYoriginal
2016-06-23 14:09:29971parcourir

我使用的WAMP。
现在我需要后台可以定时从数据库取一些数据,然后执行一些任务。需要怎么做呢?


回复讨论(解决方案)

js有定时器


1.首先和遗憾的告诉你,php 没有自我触发式函数

2.楼上有说用js定时器,这个需要将网页一直开着才行,代码如下

$(document).ready(function(){setTimeout("say()",time); // 设置一个超时对象function say(){  alert('hello world');}})


3.基于你是在win 下
 
 所以你可以写一个html 代码 如 方法2,唯一不同的是,在计划任务中设置 每天运行这个html 文件

java的话可以另外开个线程去读时间  符合要求了去执行对应的方法试试

用php呢?apche服务器不能跑一些脚本?

可以利用windows的计划任务来实现你说的定时执行PHP脚本,需要自己写一个打开PHP文件的可执行脚本,然后添加到windows的任务计划中
你可以参考下:http://www.111cn.net/office/194/44472.htm

Mysql数据库有个定时触发 Events

如果要用外部的定时,那就要用上win系统的定时任务了,这个Win下的定时任务不太好用,最好还是在Linux下的crontab

两个办法,
一是php定时执行,原理就是死循环+sleep(),可以百度一下,例子多多
二是linux定时计划服务,crontab:
crontab -e 
分 时 日 月  周 (执行你提取数据那个php文件)

这个挺不错的:
http://www.myluoluo.com/%E5%88%A9%E7%94%A8%E7%9B%91%E6%8E%A7%E5%AE%9D%E6%9D%A5%E6%89%A7%E8%A1%8CWhmcs%E7%9A%84%E8%87%AA%E5%8A%A8%E4%BB%BB%E5%8A%A1.love
用免费的监控服务定时访问某个页面。

可以利用windows的计划任务来实现你说的定时执行PHP脚本,需要自己写一个打开PHP文件的可执行脚本,然后添加到windows的任务计划中
你可以参考下:http://www.111cn.net/office/194/44472.htm

两个办法,
一是php定时执行,原理就是死循环+sleep(),可以百度一下,例子多多
二是linux定时计划服务,crontab:
crontab -e 
分 时 日 月  周 (执行你提取数据那个php文件)

关于计划任务我问了一下:
http://bbs.csdn.net/topics/390447980
很多空间都不支持吧?

windows下面的任务管理器下添加一个批处理文件例如:exp.bat,在文件中写上命令;Linux下面有一个类似的定时器

windows系统下,可用任务管理器来做,而在linux下,则可使用crontab来做,写个脚本定时去执行任务。
现在就讲讲在windows下如何进行数据库备份
1)把备份数据库的指令,写入到mytask.bat文件, 然后通过任务管理器去定时调用 bat文件(你可以按照这个方法进行取数据操作).
比如: 把temp数据库备份到 d:\temp.bak
(写入到bat文件内的备份数据库的指令:mysqldump ?u root ?proot temp > d:\temp.bak)
2)把mytask.bat 做成一个任务,并定时调用在 2:00 调用一次
 步骤 任务计划->增加一个任务,选中你的mytask.bat文件 ,最后配置,设置时间。

这个知识点我是在韩顺平大型网站核心技术??mysql优化中获取到的。如果你觉得我讲的不够详细,可以百度看下这个视频,类推下你要的操作。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn