目前我有一个永久运行在我的服务器上的 perl 脚本,检查 SQS 以获取要计算的数据。这个脚本已经运行了大约 6 个月,从来没有出现过任何问题。
所以,现在我想切换到 PHP 的 CLI,让脚本永远循环。主要是因为我对 PHP 比较熟悉。
基本上,
$i="forever";
while($i==="forever"){
doSomething();
sleep(10);
}
脚本将执行 shell_exec("/shell_script.sh");最多可能需要 2 小时来处理。这会触发最大执行时间或类似时间吗?
这样做“可以”吗?如果没有,有什么选择?
最佳答案
您需要确保将脚本的最长执行时间设置为零,这样就不会施加时间限制。您可以从 PHP 文件执行此操作,
set_time_limit(0);
或者您可以在 php.ini 文件中设置它。 (有关更多信息,请参阅 set_time_limit 上的 PHP 手册)。除此之外,您的方法应该没问题。
然而,没有必要设置一个变量并检查它以永远循环,
$i="forever";
while($i==="forever")
您可以简单地执行 while(true)
或 while(1)
。
关于php - 让 PHP 脚本永远循环执行来自队列系统的计算作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2977105/