首页 > 解决方案 > 连续运行多个(500 多个)cURL 命令的正确方法是什么?

问题描述

我正在从 php 页面运行 cURL 命令以访问来自第三方 API 的信息。最大速率为每分钟 180 个请求。

我需要更新 10,000 多条记录。

以下是我目前的设置方式:

  1. 连接到我的 MySQL 数据库并找到所有需要更新的记录。这将返回 10,000 多条记录。
  2. 使用 cURL 从 API 获取所需的数据,并使用新信息更新我的数据库。然后有 0.5 秒的暂停,以确保我不超过每分钟最大请求数。

为了使页面运行,我必须访问它。例如,我会在浏览器中访问http://example.com/run_curl.php

由于有 10,000 多条记录,因此需要很长时间才能完成。但是在页面没有在几分钟内完成加载后,我得到了 504 Gateway Timeout。

因此,我必须多次刷新页面才能完成所有更新。

有没有更好的方法来做到这一点,所以我不必刷新页面 20 次?

标签: phpcurlphp-curl

解决方案


推荐阅读