ActiveMQ потерял сообщения, как это отладить?

Мы используем автономный ActiveMQ 5.13.2, php и stomp. Stomp работает с ActiveMQ в синхронном режиме (с проверкой квитанции).

Иногда я вижу поведение, которое выглядит как потерянные сообщения.

Мы используем собственную систему управления задачами, которая обеспечивает работу с различными типами задач.

Что просходит:

1) Задача создана, сообщение отправлено в очередь.

2) Сообщение отправляется из очереди, задача выполняет вызовы API и т. Д., Затем новое сообщение отправляется в очередь с задержкой по времени (нужно подождать некоторое время для удаленного обслуживания, а затем продолжить работу).

И это все, у нас есть проблемы.

Я ожидаю, что сообщение, отправленное на шаге 2, будет использовано из очереди, но проблемная задача все еще находится в состоянии «ожидание потребления сообщения», которое выглядит как сообщение в очереди, ожидание свободного потребителя или как задержка по-прежнему не истек (но у нас есть много свободных потребителей, очередь пуста и время задержки истекло).

Например, сегодня это происходит для ~ 50 задач. Еще десятки тысяч заданий были выполнены правильно.

Я уверен, что на шаге 2 сообщение было отправлено правильно, потому что библиотека php-stomp настроена для подтверждения отправки сообщений при получении (мы используем эту библиотеку: https://github.com/centraldesktop/php-stomp )

Итак, мой вопрос: какой способ лучше всего для устранения этой проблемы? Например, могу ли я войти в ActiveMQ на пару дней, чтобы получить всю информацию о сообщениях, отправленных в очередь, отправленных в sheduler, перенесенных в очередь из sheduler и о использованных сообщениях?

Или какой-то другой способ существует?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]