LINUX.ORG.RU

MQ и атомарность.


0

1

Пишу проектик с использованием RabbitMQ и мучает меня вопрос. Кролик штука оттестированная и нареканий не вызывает, в отличии от моего кода. Вот отправитель передал задачу. Воркер достал её из очереди и упал. Всё? Задача пропала? Можно конечно сделать чтоб воркер организовывал очередь куда кидал необработанную задачу, потом доставал её когда выполнил. А если упал, то там задача лежит пока всетаки не обработается.

А хочется механизма в таком стиле. Воркер достал задачу из очереди, но она оттуда не пропала просто помечается как «в работе». Когда воркер её выполнил он её высвобождает.

Есть чтонибудь такое? У меня мало опыта с MQ кто как делает поделитесь.....


autoAck = false и по завершению обработки делать acknowledge
в джаве вроде так -

 channel.basicAck(method.deliveryTag, false);

iSlava ()

Есть чтонибудь такое?

У rabbitmq есть официальный туториал. Там этот вопрос рассмотрен.

baverman ★★★ ()
Ответ на: комментарий от baverman

Ну хорошо. Рассмотрен буду читать. просто когда ныряешь в новый раздел слишком много надо читать и не все сразу запоминаешь. Поэтому и спрашиваю.

demmsnt ()
Ответ на: комментарий от baverman

Так мне казалось это как раз то место где можно пообщаться с более опытными товарищами. Я например толком не понял зачем там вообще exchange. Я так думаю это просто пространство имен.

demmsnt ()
Ответ на: комментарий от demmsnt

exchange

Абстракция, нужна чтобы делать маршрутизацию сообщений. Например, широковещательные или по ключу. Грубо говоря, exchange это единая точка входа сообщений (о которой должны знать продьюсеры, то есть, от них можно скрыть потроха), к которой уже привязываются очереди со своими консьюмерами. Позволяет гибко (до определенного предела) строить необходимые топологии.

// Кстати, ты с rosalab никак не связан?

baverman ★★★ ()
Ответ на: комментарий от baverman

Кстати, ты с rosalab никак не связан?

Не. Я быдлоадмин. Хочу вырасти, но уперся в потолок.

demmsnt ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.