PHP中API调用时间的调节

PHP中API调用时间的调节,php,api,time,crontab,Php,Api,Time,Crontab,所以我不是100%确定该怎么问这个问题。我正在建立一个网站,它将多次调用API来收集和存储信息。这并不奇怪。经过一些测试和理论之后,如果该站点能够像我预测的那样收集到足够多的流量,我可以轻松地打破对API施加的每秒30次调用的限制。这些调用将由cron发起。然后脚本将对API进行30次调用。我需要一种减缓脚本速度的方法,以便每秒进行5次左右的调用,数据存储在数据库中,脚本完成,然后在下一分钟的顶部由crontab再次运行。如有任何建议,我们将不胜感激 谢谢,, 戴夫速度 放慢速度很容易:在每个A

所以我不是100%确定该怎么问这个问题。我正在建立一个网站,它将多次调用API来收集和存储信息。这并不奇怪。经过一些测试和理论之后,如果该站点能够像我预测的那样收集到足够多的流量,我可以轻松地打破对API施加的每秒30次调用的限制。这些调用将由cron发起。然后脚本将对API进行30次调用。我需要一种减缓脚本速度的方法,以便每秒进行5次左右的调用,数据存储在数据库中,脚本完成,然后在下一分钟的顶部由crontab再次运行。如有任何建议,我们将不胜感激

谢谢,, 戴夫

速度 放慢速度很容易:在每个API调用之间添加一些调用。你可以把电话硬编码为1/5秒,一秒钟最多5次,或者你可以记录下你打了多少个电话,只在需要时才开始减速

更简单的是,你可以打5个电话,等1秒钟,然后再打5个电话

无论您调用脚本的频率如何,这都是有效的

防止并发脚本执行 另一件需要担心的事情是调用重叠(同时多次运行脚本)。显然,如果脚本运行多次,那么输入什么时间并不重要

如果您很少调用脚本,并且绝对确定它不会重叠,那么您可能可以不做任何事情

当然,您可以实现一个锁定机制。这可以像脚本启动时检查的锁定文件一样简单。如果存在,请退出。否则,创建锁文件,运行脚本,然后删除锁文件。作为故障保护,您不仅可以检查它是否存在,还可以检查它是否是在过去一小时内创建的(或您希望使用的任何安全裕度)