нужна, мне как раз нужно гарантировать, что только одно сообщение будет добавлено и обработано только один раз. Использую для этого параметр MessageDeduplicationId в котором уникальный Guid моего объекта из БД который я хочу обработать. Это как раз работает как надо, я кидаю в очередь пачку которую нужно обработать, но я хочу так же эту пачку прочитать, а не по одному их обрабатывать. Еще задержка у меня стоит в 5 секунд (LongPoll) и получается мой обработчик обрабатывает 1 задачу раз в 5 секунд и если очередь разростается мне нужно очень много обработчиков, чтобы ее все обработать, либо уменьшать LongPoll до 1 секунды чтобы хотя бы 1 сообщение в секунду обрабатывалось
Я конечно извиняюсь, но в чем сложность?
Так вроде само понятие очереди заключается в последовательной, а не параллельной обработке. Вообще применение очередей, имхо, оправдано только в тех случаях, когда нужна чёткая последовательность выполнения действий. В иных случаях они лишь замедляют работу приложения. Но это из личного опыта, потому без претензий на истину
последовательно я мог и без очередей это все обработать, вычитал из базы и пошел последовательно в цикле обрабатывать. Очереди мы используем т.к. хотим масштабировать обработку и делать ее как раз таки параллельно
Не пойму как с помощью очередей можно запараллелить обработку
Посмотрите в сторону kafka, но это не "поддерживаемые очереди от yandex из коробки".
Вроде стандартная задача.
Так действительно может получиться
Не пойму зачем очереди для этого - так точнее будет
Что было из коробки, то и пробовал человек.
ну мы используем множество приложений которые запущенны и каждая читает одну очередь вычитало пачку сообщений обработало, все это делается параллельно чем больше у нас растет очередь тем больше мы запускаем приложений-обработчиков. Вместо того чтобы использовать одно приложение которое просто не успевает за нужный промежуток времени обрабатывать последовательно большое количество задач
Судя по документации, у вас просто на шард по 1 сообщению падает. Пробовали насыпать 100+ сообщений?
Возможно подойдёт cloud function с тригером на добавление в очередь? Обработчик пакуется в функцию и масштабируется все автоматически
Обсуждают сегодня