As anyofferschange 通知金额随时间变化。我们没有任何特定的方法可以一起阅读多个通知。
所以,我正在一一阅读并将一些信息保存在sql server数据库中,这需要相当多的时间才能完成阅读所有通知。
实现这一目标的最佳方法是什么?
As anyofferschange 通知金额随时间变化。我们没有任何特定的方法可以一起阅读多个通知。
所以,我正在一一阅读并将一些信息保存在sql server数据库中,这需要相当多的时间才能完成阅读所有通知。
实现这一目标的最佳方法是什么?
这就是我所做的......我首先清除了队列。然后我启动了我的 Windows 服务,每隔几秒钟就轮询一次队列。我想我一次撤回了 10 条消息。我会得到消息的总数,然后启动一些线程来处理我等待的消息量。我一一阅读消息,添加到我的 SQL 数据库,然后从 SQS 中删除消息。
随着时间的推移,我更好地了解要启动多少线程以及轮询队列的频率。只要我的服务正在运行,我一次只会在队列中维护少量 SQS 消息,然后我会快速读取和处理它们。有时,由于糟糕的编程(是的,它确实发生了),我的服务会崩溃,而我对此一无所知。数以万计的消息排队,我会将我的服务置于“危机”模式,这种模式以越来越高的速度进行轮询,并且基本上使我可以对 SQS 进行的调用数量达到最大值。通常在几个小时内,我的服务就会赶上,然后我增加轮询间隔。但有时,我只是放弃队列并重新开始,因为我可能会对单个 SKU 进行数百次价格更改,并且不想浪费处理时间来处理它们。
为什么不能一起阅读多个通知?就像我说的,我相信我在每个线程上一次阅读 10 个。收到 10 条消息后,我循环处理它们并将它们转储到 SQL 数据库中。处理完这 10 个后,我会向 SQS 发送一条消息以删除。
我在一个拥有超过 10,000 个 SKU 的帐户上运行了几年。我们对所有产品都有最新的价格变化通知,如果需要,我们可以立即重新定价和更新亚马逊。