Как вычеркнуть и прочитать полное AnyOfferChangeNotification в SQS? - PullRequest
1 голос
/ 24 июня 2019

Поскольку количество уведомлений anyofferschange меняется со временем. У нас нет конкретного способа читать несколько уведомлений вместе.

Итак, я читаю по одному и сохраняю некоторую информацию в базе данных сервера sql. Требуется довольно много времени, чтобы я никогда не смог закончить читать все уведомления.

Каков наилучший способ достичь этого?

1 Ответ

1 голос
/ 25 июня 2019

Вот что я сделал ... Я начал с очистки очереди. Затем я запустил службу Windows, которая каждые несколько секунд опрашивала очередь. Я думаю, что я отозвал 10 сообщений одновременно. Я получал бы общее количество сообщений, а затем увеличивал количество потоков, которые могли бы обработать количество сообщений, которые я ожидал. Один за другим я читаю сообщение, добавляю его в базу данных SQL, затем удаляю сообщение из SQS.

Со временем я лучше понял, сколько потоков раскручивается и как часто нужно опрашивать мою очередь. Пока моя служба работала, я мог хранить только несколько сообщений SQS в очереди за раз, и я быстро читал и обрабатывал их. Иногда из-за плохого программирования (да, это случается), мой сервис зависал, и я не знал об этом. Десятки тысяч сообщений становятся в очередь, и я перевожу свой сервис в «кризисный» режим, который опрашивается с возрастающей скоростью и, по существу, максимизирует количество звонков, которые я могу сделать в SQS. Обычно через несколько часов мой сервис догоняет, а затем я увеличиваю интервал опроса. Иногда, однако, я просто выбрасывал очередь и начинал сначала, поскольку у меня были бы сотни изменений цены на один SKU, и я не хотел тратить время на обработку, чтобы пройти через них. Но в большинстве случаев все шло гладко.

Почему вы не можете прочитать более одного уведомления вместе? Как я уже сказал, я считаю, что я читаю по 10 в каждой теме. Как только я получил 10 сообщений, я обработал их в цикле и поместил в базу данных SQL. После обработки 10 я отправляю сообщение в SQS для удаления.

Я управлял этим в течение нескольких лет на счете с более чем 10000 SKU. Мы получили до минуты уведомления об изменении цены на все наши продукты и при необходимости могли мгновенно пересмотреть цену и обновить Amazon.

...