Push notification 如何在SQS中填写并阅读任何OfferChangeNotification?

Push notification 如何在SQS中填写并阅读任何OfferChangeNotification?,push-notification,amazon-sqs,amazon-mws,amazonsellercentral,Push Notification,Amazon Sqs,Amazon Mws,Amazonsellercentral,正如任何报价人一样,变更通知金额随时间而变化。我们没有任何特定的方法一起读取多个通知 所以,我正在一个接一个地阅读,并将一些信息保存在sql server数据库中,我花了相当多的时间来阅读所有的通知 实现这一点的最佳方法是什么?以下是我所做的……我从清除队列开始。然后,我启动了windows服务,每隔几秒钟轮询一次队列。我想我一次收回了10条信息。我会得到一个消息总数,然后启动一些线程来处理我等待的消息量。我一个接一个地阅读消息,添加到我的SQL数据库,然后从SQS中删除消息 随着时间的推移,我

正如任何报价人一样,变更通知金额随时间而变化。我们没有任何特定的方法一起读取多个通知

所以,我正在一个接一个地阅读,并将一些信息保存在sql server数据库中,我花了相当多的时间来阅读所有的通知


实现这一点的最佳方法是什么?

以下是我所做的……我从清除队列开始。然后,我启动了windows服务,每隔几秒钟轮询一次队列。我想我一次收回了10条信息。我会得到一个消息总数,然后启动一些线程来处理我等待的消息量。我一个接一个地阅读消息,添加到我的SQL数据库,然后从SQS中删除消息

随着时间的推移,我更好地了解了需要启动多少线程以及轮询队列的频率。只要我的服务还在运行,我就会一次只在队列中维护少量SQS消息,并快速读取和处理它们。偶尔,由于糟糕的编程(是的,经常发生),我的服务会崩溃,我也不知道。数以万计的消息排队等待,我会将我的服务置于“危机”模式,这种模式的轮询速度越来越快,基本上使我可以拨打SQS的电话数量达到最大。通常在几个小时内,我的服务就会赶上,然后我会增加轮询间隔。但有时,我会将队列转储并重新开始,因为一个SKU上可能有数百个价格变化,我不想浪费处理时间。但大多数时候,事情进展顺利

为什么不能同时阅读多个通知?就像我说的,我相信我每次读10条。一旦我得到这10条消息,我就在一个循环中处理它们,并将它们转储到一个SQL数据库中。处理完10后,我向SQS发送一条要删除的消息


我在一个拥有10000多个SKU的账户上运行了几年。我们的所有产品都有最新的价格变化通知,如果需要,我们可以立即重新定价并更新Amazon。

如何确保多个线程不读取重复的通知?您可以设置可见性超时,以便在读取后,它们被标记为不可见xx秒,另一个线程无法访问它们。