Php 将foreach和while循环延迟30秒

Php 将foreach和while循环延迟30秒,php,delay,sleep,Php,Delay,Sleep,我有一些谷歌废料的应用程序,一些关键字。在表中,我有一个关键字列表。这是我用来废弃的逻辑,每个关键字都有不同的代理 foreach ($keywords as $keyword) { $response = false; while ($response == false) { try { ScrapGoogle(); } catch (Exception $e) { $response = false; // If fa

我有一些谷歌废料的应用程序,一些关键字。在表中,我有一个关键字列表。这是我用来废弃的逻辑,每个关键字都有不同的代理

foreach ($keywords as $keyword) {
   $response = false;
   while ($response == false) {
     try {
       ScrapGoogle();
     } catch (Exception $e) {
       $response = false;
       // If false, try another proxy. I didn't included that block code here
     }
   }
}

由于这种逻辑,我有时会收到错误503,但在手动测试该代理(从web浏览器)时,Google搜索工作正常。这意味着我需要停止foreach和/或while循环30秒。我试图在两个循环的末尾添加sleep(),但没有得到任何改进。循环等待30秒,然后同时运行所有检查。

问题是否在
ScrapGoogle()
本身内?您确定代理与您的脚本切换的方式与手动切换的方式相同吗?您可能希望在控制台或日志中打印出每次连接到的代理。不,因为我在系统中有一些日志,所以我会将每个请求写入数据库,所以我知道脚本正在工作,因为有适当的代理切换。我甚至为每个关键字添加了唯一的代理。我面临的唯一问题是,其中一些循环无法正常工作,并同时获得所有关键字的结果,或者它检查得非常快