使用请求速率有限的API


Using an API with a limited request rate

我使用PHP来处理API,该API将我限制为每10秒1个请求。它一次最多可以返回10个结果。

这意味着要得到1000个结果,我需要打100个电话,如果一个接一个地打,大约需要17分钟,所以"即时"不是一个真正的选择。

如果我需要从API获得1000行,那么哪种方法是最好的?

有没有什么方法可以在后台获取API数据,这样当我需要信息时,它就已经在我的数据库中了?API仅每4周更新一次,因此在此期间只需同步一次。

我考虑过使用cron作业来完成这项工作,但考虑到脚本必须运行多长时间,我不确定它会如何工作。

使用cron作业是将API中的值存储到数据库中的一种很好的方法。您需要为API和本地数据库使用更新的时间字段。检查API最后一次记录更新的日期是否大于本地数据库中最后一次更新记录的日期。如果是,则获取新数据。

如果您想对服务器的本地数据库执行相同的过程,您可以。这是同步项目流和减少API请求的常用操作。