我在一个应用程序上工作,我订阅了一个事件,每当库存物品库存更新时就会触发。所以,每当我在那个事件中获得数据时,我都会调用一个API来更新shopify商店的库存。当物品批量更新时,比如一次更新100件物品时,这个委托会运行100次,有时我的shopify API会因为频繁更新而耗尽。
public void SomeMethod(Events event)
{
event.InventoryStockUpdated += delegate (string itemNo){}
}
我尝试在列表中添加如下项目:
public void SomeMethod(Events event)
{
var items = new List<string>();
event.InventoryStockUpdated += delegate (string itemNo)
{
if(items.Count == 10)
{
// api request
// Here the problem is the no is not always 10 and when the batch is less than 10 it wan't run
}
}
}
我该怎么处理这种情况。要么一批一批地更新项目?但是我不知道那批更新的项目的固定数量。
我添加了thread.sleep(500),但这会导致太多的延迟。
1条答案
按热度按时间yyyllmsg1#
我会建议做这样的事情
你就会这么做
如果您希望辅助对象是动态的,则可以更进一步。