我有一个关于如何减慢我的API请求的问题。对于我打的特定的第三方API,我允许每2秒发出3次请求。如果我翻过那个数字,我会返回status code 429
以及以毫秒为单位的等待时间。速率限制请求和亚马逊SQS
这个API经常被调用,并且是我自己的服务器有传入请求的直接结果,这些请求不受速率限制。
因为我没有任何需要同步处理第三方API请求,所以我决定将工作卸载到AWS上的弹性beanstalk工作箱,默认情况下从Amazon SQS读取。
因此,如果状态码429从第三方api返回,我的工作人员会将SQS消息放回队列中。当等待时间到时,这不可避免地使api呼叫工作。然而,这似乎是一个不好的解决方案
有什么办法告诉守护程序在工人箱上留在队列中的消息分配的等待时间?或者我可以设置守护进程从队列中读取的速率?我正在寻找一种适当的方式(具体实现),以使用AWS上的工作者和队列来限制速率。十分感谢你的帮助!
编辑: 我会假设有一些配置可以在AWS上进行修改来完成我所要求的功能,但无论哪种方式我都在寻找我所描述的设置的特定解决方案。我不太清楚如何修改或控制弹性beanstalk worker框中的守护进程。
击中第三方API的目的是什么?调用它的触发器是什么? –
我正在使用第三方电子邮件营销服务来填充/更新客户的电子邮件营销帐户。我的产品中有很多触发器,主要用于实时更新和填充这些营销帐户。 – AIntel