我尝试每 2 秒运行一次 PHP 脚本,但我只能为每分钟设置一个 cron 作业。
我的想法是在 PHP 中使用 for 循环并在循环中运行我的代码 X 次,然后 cron 作业每分钟运行一次,但我不知道我的脚本需要多长时间才能运行,所以当 cron 作业重新启动时它可能不会完成。
每 2 秒运行一次的最佳方法是什么?
创建一个守护进程。
例如守护程序.php
这将做:
while(true){
sleep(2);
/* do your magic */
}
然后将其作为后台任务启动
php -q daemon.php&
这不是解决
像您这样的问题的最佳方法,但这是您的答案:
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&