PHP - 继续/中断循环,当前循环需要 x 秒以上


PHP - continue/break for loop it current loop takes more than x seconds

我在PHP中使用for循环(100条记录)处理一些数据。我在循环中调用API,大多数情况下所有记录都在预期的时间内处理。但有时任何单个循环都可能需要很多时间,因为等待 api 响应只会显着增加整体处理时间。

如果任何单个循环花费的时间超过 x 秒,php 中是否有任何方法可以"继续"循环,以便我们可以在预期时间内以很少未处理的记录为代价来处理总体记录?

如果您使用 CURL 调用 API,则可以检查 CURLOPT_CONNECTTIMEOUTCURLOPT_TIMEOUT(参考此处)。否则就不那么容易实现。您应该创建一个多线程环境,一个工作线程运行循环的执行,另一个线程检查执行时间是否过长。