大佬教程收集整理的这篇文章主要介绍了PHP – 停止并捕获花费太长时间的代码,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
伪代码示例(这里的示例用例是一个不稳定的API,有时很快,其他时候是黑洞):
$completed = 1; $seconds = 60; while ($completed != -1 && $completed < 5) { limit ($seconds) { $api = new SomeAPI('user','secret','key'); $data = $api->getstuff('user="bob"'); $completed = -1; } catch () { $completed++; sleep(10); } } if ($completed === 5) echo "Error: API black-hole'd 5 times.\n"; else { //Notice: data processing is OUTSIDE of the time limit foreach ($data as $row) { echo $row['name'].': '.$row['message']."\n"; } }
但是,这应该适用于任何事情.不只是API / http请求.例如.密集的数据库程序.
如果你读得太快:set_time_limit和max_execution_time不是答案,因为它们会影响整个脚本的时间限制,而不仅仅是一个部分(当然,除非我对这些工作的方式有误).
对于通用用法,您可以查看分叉过程,这使您能够为每个过程计时并在超过预期时间时将其终止.
当然,如果由于高度重复的循环结构而导致代码段可能需要很长的执行时间,那么您可以提供自己的定时器,以便在指定的时间间隔后退出循环.
以上是大佬教程为你收集整理的PHP – 停止并捕获花费太长时间的代码全部内容,希望文章能够帮你解决PHP – 停止并捕获花费太长时间的代码所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。