Amazon Product Advertising API经常返回503(服务不可用)

时间:2019-01-23 08:01:07

标签: php laravel api guzzle amazon-product-api

我为自己编写了一个PHP脚本,该脚本正在从Amazon Product Advertising API获取产品。为此,我使用的是PHP Laravel 5.5,Apai-IO LibraryGuzzle

我也跟踪我的所有请求,我认为从Amazons API返回的错误信息过多(503(服务不可用))。原因是here我每天确实有8640个请求,最大每秒1个请求。

我的脚本整天每隔15分钟被cronjob运行一次。因此,我的脚本每天启动96次。但是,我对退回的产品运行了一些验证。如果验证正在批准退回的产品,则完成cronjob。如果不是,脚本将尝试请求新产品,新请求和最后一个请求之间的间隔时间为5秒。但这也意味着,我可以对每个cronjob进行90个请求,原因是96乘以90等于每天的最大请求限制8640。

但是,我的请求限制远低于请求限制。每天大约有2000-3000个请求。这就是让我困惑的地方。我不明白,当我每个请求的间隔时间至少为5秒并且我的每日请求远低于限制时,为什么Amazon Product Advertising API返回503(服务不可用)...

这是API返回503请求时收到的错误的示例:

2019-01-23 08:28:05 - Error fetching Amazon product from API Server error: `GET http://webservices.amazon.de/onca/xml?AWSAccessKeyId=00000000000000000000&AssociateTag=my_tag-21&ItemId=B00UIAK6D8&Operation=ItemLookup&ResponseGroup=Large&Service=AWSECommerceService&Timestamp=2019-01-23T07%3A28%3A05Z&Version=2013-08-01&Signature=69eB66yi6zQu6IhCHj2sk0FJznfN3g169D2Ng8TKnz8%3D` resulted in a `503 Service Unavailable` response:
<?xml version="1.0"?>
<ItemLookupErrorResponse xmlns="http://ecs.amazonaws.com/doc/2013-08-01/"><Error><Code>RequestThro (truncated...)

如果您愿意,我还可以为您提供一些代码。.但是我认为这不是真的必要吗? 因为我非常确定每个请求至少要暂停5秒,原因是我正在使用sleep(5);,这就是为什么我更确定每个请求至少要暂停5秒!

将感谢您的任何帮助!

0 个答案:

没有答案