我正在尝试通过 API(使用 ShopifySharp)向 Shopify 添加订单,但在添加 4 个订单后,我总是收到错误消息。
System.AggregateException: 'One or more errors occurred. ((429 Too Many Requests) Exceeded order API rate limit, please try again in a minute. Upgrade to a paid account to remove this limit.)'
代码:
public async Task AddOrder(Order order)
{
try
{
Thread.Sleep(1000);
await orderService.CreateAsync(order);
}
catch (ShopifyRateLimitException e)
{
await Task.Delay(10000);
await orderService.CreateAsync(order);
}
}
var taskOrders = AddOrder(order);
taskOrders.Wait();
我知道每秒允许 2 个请求的速率,这就是为什么我有 Thread.Sleep(1000) (也尝试过 Task.Delay)。
在此调用之前,不会对 Shopify 进行任何 API 调用。它总是让您添加 3-4 个订单,然后弹出错误。
但例如,当我一个一个删除订单时,一切正常(1 分钟内 50 个订单),使用相同的实现,只是为了删除。
此外,我尝试将策略更改为 ShopifySharp 提供的“RetryExecutionPolicy”或“SmartRetryExecutionPolicy”。
尝试更改延迟时间,但即使在 10 秒后仍会弹出错误。
shopify 上的应用程序拥有所有权利。