Я создал очередь в Azure Queue и выделил два элемента в ней. Использование nodejs SDK, я создать таймер, который выполняется каждые 5 секунд и вызовы:Azure queues метод getMessages в sdk не работает как ожидалось
azure.createQueueService("precondevqueues", "<key>").getMessages(queueName, {numOfMessages : 1, visibilityTimeout: 1 }, callback)
Я ожидаю, что то же самое сообщение о двух в очереди, чтобы показать через каждые 5 секунд, но это не кажется, случай. Вывод этого вызова чередуется между двумя сообщениями.
Это не должно быть так, поскольку visibilityTimeout установлено в 1 и, следовательно, через 1 секунду сообщение, удаленное при первом вызове, должно быть снова видимым до следующего вызова getMessage.
Ну, я вижу поведение каждый раз. Кажется, что getMessages действительно обновляет запись, толкает ее обратно в очередь. – Kartik
Да, это возможно, и в заявлении в его документации совершенно нормально. – DAXaholic
Я пробовал с 3-мя элементами, а затем 4, и он ведет себя так, как будто getMessages вынимает этот элемент и завершает его обратно в хвост. Поэтому, если вы вставляете a, b, c и d, то каждые несколько интервалов вы получаете getMessage (с таймаутом видимости меньше интервала), вы в основном выполняете цикл через a-> b-> c-> d – Kartik