gpt4 book ai didi

php sleep 与 bash sleep

转载 作者:行者123 更新时间:2023-11-29 09:34:53 28 4
gpt4 key购买 nike

我有一个 php 脚本,我需要每 5 秒运行一次(运行,等待它完成,等待 5 秒,再次运行)

我有两种方法。要么在脚本中有一个带有 sleep 功能的无限循环,看起来像这样:

while (1)
{
do_stuff();
sleep 5;
}

或者拥有将运行脚本并等待 5 秒的 bash 脚本。看起来像那样

while [ 1 ]; do
php script.php &
wait
sleep 5
done

我想知道最有效的方法是什么。

我正在运行的 php 脚本是一个执行大量数据库调用的 codeigniter Controller ..

最佳答案

如果您正在进行大量的数据库调用,那么请在 php.ini 中进行休眠。这样你就不会支付 php 启动惩罚、连接到数据库的惩罚等......如果你在 bash 中 sleep ,就会发生这些。

当您执行 bash 循环时,您将在每次迭代中开始/运行/退出您的脚本,并且这种开销会在长时间运行的脚本中迅速增加。

另一方面,至少您每次都会从一个“干净”的环境开始,而不必担心脚本中的内存泄漏。您可能希望将两者结合起来,这样您就可以在 PHP 中循环/休眠(比如说)100 次,然后退出并在 Bash 中循环。

关于php sleep 与 bash sleep ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9826487/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com