我正在使用以下第三方SDK https://github.com/davidtsadler/ebay-sdk-php与eBay Trading API建立集成。我对每个客户项目的getItem端点进行了大量调用,并定期进行每小时呼叫。我将这些作业分配到队列中以在后台运行,并通过创建的仪表板监视进度。我还使用大量日志记录来拦截任何奇怪的问题并在问题发生时进行修复。但是,有时会发生呼叫阻塞的情况,而我却无法从ebay取回任何东西,并且队列被阻塞,直到超时为止。我怀疑我可能已经超出了通话限制,但是在这种情况下,我应该期待我不会收到异常回复。
以下是相关代码的片段:
try {
if($logger) {
$logger->info("Request send to ebay");
}
$response = $tradingService->getItem($request);
if($logger) {
$logger->info("got the response back from ebay". print_r($response));
}
break;
} catch (\Exception $e){
if($logger) {
$logger->info("While getting product {$itemId} - ". $e->getMessage() . " - Retries $retries");
}
if($retries < $this->maxTries)
{
sleep($this->sleepFor);
$retries++;
continue;
}
throw new \Exception('Error while retrieving template for Item: '. $itemId);
}
奇怪的是,这种情况发生在我为同一位客户执行这项工作的十分之一的时间内!有什么想法吗?