程序员 - 如何定时执行一段PHP程序,不用linux或者windows上面的计划任务?
程序员文章站
2022-05-10 18:12:43
...
如何定时执行一段PHP程序,不用linux或者windows上面的计划任务?
回复内容:
如何定时执行一段PHP程序,不用linux或者windows上面的计划任务?
如果不用外部的定时器,那就只能用下面两个方法了
1,启动一个php进程一直在后台跑,做个定时器,检查有没有任务应该执行
2,通过用户在前台激发事件,有用户访问,则去检查有没有需要执行的任务
ps,这个蛋疼的需求在什么情况下才会遇到?
php页面的话(也就是可以通过web访问),可以用第三方的网页监控,最短五分钟一次。
不然我想不出来什么样的环境不能用crontab。
php不能常驻内存,除非你是在命令行里运行。所以说如果是web方式运行php,是实现不了这个功能的。
我们公司的奇葩做法,使用数字浏览器的自动刷新功能。。
ignore_user_abort();
set_time_limit(0);
在程序中while(true)死循环并判断时间,到了就执行。
为了方便控制也可以读一个文件,如果文件为0就exit,这样可以通过修改文件内容来控制进程结束。