Мне нужен запрос или просто команда для просмотра остановленных / отложенных / ожидающих сообщений в очереди, но на долгое время.
Сообщения, которые находятся в очереди и не обрабатываются, можно увидеть с помощью следующей команды: -
DISPLAY QSTATUS(q-name) ALL
Прежде всего вы можете увидеть CURDEPTH
значение, которое очень просто показывает, сколько сообщений находится в очереди. Этот единственный номер сам по себе не отражает, были ли эти сообщения получены 1 секунду назад или 1 час назад, он просто показывает, сколько сообщений находилось в очереди на момент подачи вами команды. Если в этой очереди есть приложения, обрабатывающие сообщения, вы можете увидеть другой номер, если отправите его снова через мгновение.
Эта команда возвращает различные другие поля, которые содержат дополнительную информацию о том, как долго сообщения остаются в этой очереди до обработки. Если вас беспокоит, что ни одно приложение не выводит сообщения из очереди, вам следует проверить LGETDATE
и LGETTIME
которые показывают дату и время, когда последнее сообщение было удалено из очереди. Если это давно, стоит также проверить IPPROCS
которые показывают количество приложений, у которых очередь открыта для получения (Вход).
Если вы видите, что приложения работают в очереди, и что LGETTIME
похоже, регулярно меняется, предполагая, что происходит регулярная обработка, но вы все еще думаете, что у вас есть сообщения в очереди в течение длительного времени, у вас могут быть приложения, которые не получают следующее сообщение, а вместо этого собирают определенные сообщения по идентификатору сообщения или идентификатор корреляции. В этом случае, хотя очередь регулярно обрабатывается, у вас могут быть старые сообщения, и они будут отображаться как высокое значение в MSGAGE
.
N.B. Некоторые из этих полей вызывали дополнительные отметки времени, которые использовались кодом администратора очередей, особенно те, которые я упомянул, LGETTIME
и MSGAGE
. Они контролируются MONQ
атрибут, чтобы вы не тратили это дополнительное время ЦП, если не хотите просматривать такие данные. Включите эти дополнительные биты информации, введя команду: -
ALTER QLOCAL(q-name) MONQ(HIGH)
Связанная информация: