QUESTION
如果我使用的话效果会好吗sleep(300);
以 5 分钟的间隔完成一整天(24 小时)?
这意味着,would set_time_limit (86400);
work?
然后我可以将主机的时间表设置为每 24 小时仅使用一次。
INFO
我发现我现在正在做的事情这个问题 https://stackoverflow.com/questions/3571125/running-a-php-script-every-5-minutes-and-avoiding-race-conditions现在我用它每 5 分钟做一些事情。它运作良好,准时,甚至秒数都是正确的。 (说说各方面的差距sleep
) - 它睡眠 3 次,然后再次从我的主机调度程序调用。
我在主机上设置了每 15 分钟一次的计划任务,问题是这种情况并不是每(精确)15 分钟发生一次,而更像是 16 分钟——几个小时后,它就完全不同步了。
如果可以使用它在 24 小时内不退出,那么我可以调整代码中的睡眠,使其每 5 分钟执行一次。
UPDATE
17:17:50 22-09-2011 Check done!
17:34:09 22-09-2011 Check done!
17:47:47 22-09-2011 Check done!
我运行了一个脚本,将日期和“检查完成!”附加到文件中。 - 这是没有循环的sleep
这就是我得到的。
如果你使用set_time_limit(0);
,代码永远不会超时并永远运行,除非它先退出。例如,我在 PHP 中编写程序while(1) { ... }
环形。它连续运行了大约两周(然后由于一些不相关的原因我不得不重新启动计算机)。
不过 Cron 通常是准确的。如果你的主机的 cron 如此不同步,你应该联系他们并询问这个问题 - 这是不正常的。
编辑:此外,您可能需要考虑永远运行它并手动启动它,然后使用 cron 任务检查它是否仍在运行,如果没有则重新启动它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)