Open aleksandrchernyaev opened 2 years ago
Тоже заметил. При этом если не делать Reject то сообщения остаются.
Пробовал не делать Reject, тогда на следующем сообщении В "Пока Клиент.BasicConsumeMessage("", Сообщение, ID, 5000) Цикл" Клиент.BasicConsumeMessage("", Сообщение, ID, 5000) возращает ЛОЖЬ и прекращается обход сообщений.
Т.е. не пробегает по всем сообщениям, как будто они закончились!
Странно, но у меня работает. Правда использую версию 1.10.
В веб-интерфейсе есть два варианта Reject-а. Насколько я понимаю requeue true возвращает сообщение в очередь, а requeue false удаляет сообщение из очереди. Следовательно в библиотечной функции BasicReject видимо нужно реализовать ещё один параметр, который бы и отвечал за возможность возвращать сообщение в очередь.
В веб-интерфейсе есть два варианта Reject-а. Насколько я понимаю requeue true возвращает сообщение в очередь, а requeue false удаляет сообщение из очереди. Следовательно в библиотечной функции BasicReject видимо нужно реализовать ещё один параметр, который бы и отвечал за возможность возвращать сообщение в очередь.
Кажется, что эта фича лишняя для компоненты. В 1С обычно из кролика данные сначала грузятся в какой-нибудь регистр сведений (справочник) и тут либо подтвердил либо нет. Сценарий с requeue: true нужен если допустим пятисотит какой-нибудь http/grpc запрос и нужно заново переставить в очередь чтобы повторно обработать. В любом случае интересен ваш сценарий использования.
При обработке, все сообщения удаляются из очереди, хотя я их не АSKаю, использую метод BasicReject(ID). После выполнения данного кода, все сообщения удаляются из очереди, хотя необходимо, чтобы они вернулись назад в очередь.
Пример кода: