Может ли потребитель получать сообщения из RabbitMQ так же, как он получал бы первый элемент в обычной структуре данных очереди?

Из документации по RabbitMQ у меня сложилось впечатление, что как только сообщение поступает в очередь, оно отправляется потребителю для обработки. Что я хотел бы иметь, так это возможность для потребителя самостоятельно решать, когда он готов получить и обработать следующее сообщение в очереди. Возможно ли это?

Моя программа генерирует большое количество сообщений (около 3000) одновременно и должна хранить их в очереди. (примерно 2-3 раза в день). Из этой очереди функция должна получить первое сообщение, вычислить, выполняется ли условие, и если оно верно, запустить процесс на другом сервере и только потом получить следующее сообщение. Если нет, она должна подождать небольшое количество времени и повторить попытку с тем же сообщением, что и раньше. Меня не интересует параллелизм, совсем наоборот, приложение должно быть последовательным. Могу ли я достичь этого с помощью RabbitMQ?

Вернуться на верх