gpt4 book ai didi

php - 如何使用 PHP 限制 API 请求

转载 作者:搜寻专家 更新时间:2023-10-31 21:13:35 25 4
gpt4 key购买 nike

我们计划使用 SEMrush API,它允许访问与域名和搜索关键字相关的 SEO 数据。在他们的Terms of Use下,他们限制使用以避免杀死他们的服务器:

You may not perform more than 10 requests per second, nor more than 2 simultaneous requests.

我们将使用 PHP 构建一个基于域名聚合数据的简单工具,并寻找有关如何满足该要求的基础知识。我们正在为成百上千的潜在同时用户进行规划。

也许有人可以在 PHP 中提供一些伪代码来让我们这样做——或者它真的就像强制实际的 API 请求函数在每个命令之间休眠 1 秒一样简单吗?我在 API 和大量并发用户方面没有太多经验,因此非常感谢任何帮助。

最佳答案

PHP 确实不是用于并发编程的最佳语言。但是,您可以将一些第三方解决方案与 PHP 一起使用,以帮助您实现目标。

您需要的是一个可以为您处理实际请求的作业管理器或队列系统。由于这是一个后端工具(至少这是我从你的问题中收集到的信息),它不需要 PHP 来处理对作业本身的实际控制,而只需要一些控制进程来安排这些单独的作业并将它们交给您的 PHP 脚本,以便您可以有效地施加这些限制。

我的第一个建议是尝试像 gearman 这样的东西,这是一位出色的工作经理,拥有 extension in PHP帮助您与图书馆互动。

另一个建议是查看队列系统,例如 amqpzmq , 其中一些也有 extensions in PHP .

所以这里有一个示例场景......

您有一个 PHP 脚本可以接受这些请求并将它们传递给您的作业管理器或通过套接字排队。作业管理器或队列将存储请求并以一种可以集中和控制的方式将其分发给各个工作人员以施加这些限制。我提供给您的链接中有一些示例可以帮助您实现目标。然而,在没有这些工具帮助的情况下纯粹用 PHP 来做这件事将被证明是非常棘手的,如果不仔细设计和考虑,可能会导致一些非常极端的错误行为。

关于php - 如何使用 PHP 限制 API 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13809829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com