我试图每2秒运行一次PHP脚本,但我只能为每分钟设置一个cron作业。
我有想法在PHP中使用for循环并在循环X中运行我的代码很多次,然后cron作业每分钟运行一次,但我不知道我的脚本需要运行多长时间才能运行当cron作业重新启动时没有完成。
什么是每2秒运行一次的最好方法?
答案 0 :(得分:4)
创建一个守护进程。
e.g。 daemon.php
会这样做:
while(true){
sleep(2);
/* do your magic */
}
然后将其作为后台任务启动
php -q daemon.php&
答案 1 :(得分:0)
这不是解决像你这样的问题的最好办法,但这是你的答案:
for($i = 0; $i < 30; $i++){
sleep(2);
exec("php name.php > /dev/null 2>/dev/null &");
}
for
每2秒运行一次程序30次。您必须为上面的源代码设置1分钟的cronjob。 exec("php name.php > /dev/null 2>/dev/null &");
确保PHP不等待结束程序,因此每两秒钟就会执行一次任务。
您也可以关注jancha
回答,但修改如下:
while(true) {
sleep(2);
exec("php name.php > /dev/null 2>/dev/null &");
}
然后将其作为后台任务启动:
php -q daemon.php&