当前位置:  开发笔记 > 编程语言 > 正文

如何让我的基于PHP的cron作业更频繁地执行?

如何解决《如何让我的基于PHP的cron作业更频繁地执行?》经验,为你挑选了1个好方法。

我有一个文件" update.php",它执行一些MySQL操作.cron作业每5分钟执行一次该文件.不幸的是,我无法更频繁地执行cron作业.

所以我有想法,我可以添加......



  



...到页面" update.php".cron会以页面自动刷新的方式执行文件吗?或者这不会发生,因为没有带浏览器的客户端?

如果元刷新没有效果,是否还有其他可能实现页面的刷新?

提前致谢!



1> Douglas Leed..:

我担心这不起作用,因为它是一个刷新页面的浏览器功能.

问题:为什么不能将cron作业设置为每5分钟更频繁地运行一次?

如果没有其他选项,那么您可以创建自己的守护进程来更频繁地完成工作.

例如,您的PHP脚本可以:

等待60秒

(等;跑;再跑两次)

出口

例如:(通过改变sshow的代码)


此版本的脚本将保持驻留四分钟,如果此脚本每5分钟由cron运行,则执行代码4次,这相当于每分钟运行一次.

关于cronjob是什么以及如何运行似乎有些混乱.

cron是一个守护进程,它位于后台,并按照crontab中指定的时间表通过shell运行任务.

每个用户都有一个crontab,还有一个系统crontab.

每个用户的crontab都可以指定以该用户身份运行的作业.

例如:

# run five minutes after midnight, every day
5 0 * * *       $HOME/bin/daily.job >> $HOME/tmp/out 2>&1
# run at 2:15pm on the first of every month -- output mailed to paul
15 14 1 * *     $HOME/bin/monthly
# run at 10 pm on weekdays, annoy Joe
0 22 * * 1-5    mail -s "It's 10pm" joe%Joe,%%Where are your kids?%
23 0-23/2 * * * echo "run 23 minutes after midn, 2am, 4am ..., everyday"
5 4 * * sun     echo "run at 5 after 4 every sunday"

所以每五分钟运行一次:

*/5 * * * *     echo "This will be run every five minutes"

或者每分钟运行一次:

* * * * *       echo "This will be run every minute"

命令的输出通过电子邮件发送给crontab的所有者(或由MAILTO指定).这意味着如果你每分钟运行一次,它会每分钟给你发电子邮件,除非你确保所有正常输出被抑制或重定向.

这些命令以拥有crontab的用户身份运行,该用户与Web服务器运行的脚本形成对比,这些脚本作为"nobody"用户运行(或类似 - 无论Web服务器配置为以何种方式运行).如果cronjob正在写入应该由web服务器运行的脚本访问的文件,这会使生活变得更加复杂.基本上,您必须确保权限保持正确.

现在,我不确定这是你所指的系统.如果你的意思是其他东西,cronjob那么上面的内容可能不适用.

如果你想做一些当前主持人不允许你这样做的事情,那么你可能会考虑转换托管服务提供商,而不是黑客攻击.


另一种方法是将脚本放在正常的脚本位置,并让一些外部调度程序以你喜欢的频率运行wget.


另一种选择是按需更新vartec建议的形式.但是,这可能无法解决您的问题.

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有