MQSeries - Queue Depth
Select messages from
# through # FAQ
[/[Print]\]

MVSFORUMS.com -> CICS and Middleware

#1: MQSeries - Queue Depth Author: Manas BiswalLocation: Chennai, India PostPosted: Tue Dec 03, 2002 6:32 am
    —
Hi all,

Rather an odd question but I will go with it. Is there some way using which I can browse or at least know the current depth of a queue assigned to a Queue Manager on OS/390.
What I mean is that, suppose I am testing an application program which does a simple MQPUT to put a single message to a queue.
After the program ends, I want to just see whether the message is there in the queue or not. I don't have administrative access on the QM on OS/390 and it looks odd to call up the support people everytime my application program runs.
Is there some dataset where the QM internally stores the messages. The message may not be readable. I just need to know whether the message is there or not.

Regards,
Manas

#2:  Author: Manas BiswalLocation: Chennai, India PostPosted: Tue Dec 03, 2002 8:27 am
    —
Hi Ravi,

TSO PQEDIT is not working on my installation. It is saying 'command PQEDIT not found'.

Can you tell me any dataset where MQSeries stores the messages. After all there must be some dataset where the messages are stored.

Regards,
Manas

#3:  Author: Bill DennisLocation: Iowa, USA PostPosted: Tue Dec 03, 2002 11:38 am
    —
How about reading the queue in BROWSE mode after your test. There are samples in the MQ product library hlq.SCSQCOBS(CSQ4BVA1).

Bill

#4:  Author: Manas BiswalLocation: Chennai, India PostPosted: Wed Dec 04, 2002 4:16 am
    —
Thanks Bill. I can of course always do what you have suggested. I just wanted a more short-cut approach.

Regards,
Manas

#5:  Author: JebaLocation: Columbus, GA PostPosted: Wed Dec 04, 2002 11:32 am
    —
Manas,

If you have TMONMQS ( The Monitor for MQSeries ) in your shop. You can easily go and see the Queue depth by selecting the Queue manager and Queue name.

#6:  Author: Bill DennisLocation: Iowa, USA PostPosted: Wed Dec 04, 2002 4:38 pm
    —
There is an MQINQ function call to return the depth of a queue, if you want to write a program. Again, a sample is in hlq.SCSQCOBS(CSQ4CVB1) dataset.

Bill

#7:  Author: Manas BiswalLocation: Chennai, India PostPosted: Thu Dec 05, 2002 12:06 am
    —
Hi Jeba,

We do have a MQSeries Monitor in our shop but developers don't have access to connect to a QM using that. We can only do so using application programs. Access to the monitor is onlt to SYSPROGS.

Bill -> I know about the MQINQ function. I can always use the Inquiry or Browse API calls to get the queue depth. What I was hinting at in my question is that perhaps there is some dataset(there has to be some place where MQ QM stores the content of the queue) which we can directly browse to see if the queue is populated or not.

Thanks a lot for your time and suggestions.

Regards,
Manas

#8:  Author: akLocation: New York, USA PostPosted: Fri Dec 06, 2002 11:50 am
    —
FWIW, MQ Messages will be there in a dataset which I think should be a LDS. I don't know how it is defined and where it resides. With little reserach it can be found. Start from the volumes allocated to MQ and percolate down.

If the MQPUT/MQPUT1 the success will be determined by there itself by MQRC/CC and act accordingly. There is no need to check manually.

As you said, if you want, you can write small API snips to handle such chores. I had expolited MQ/Rexx for that to do such convenient items myself. Scripting was fun to me.

rcc = RXMQV('INQ', h1, MQIA_CURRENT_Q_DEPTH, 'pvid' )
say '** Q Curdepth estimated before load : ' pvid

HTH.

#9:  Author: ted012Location: Southern California PostPosted: Fri Dec 27, 2002 12:11 pm
    —
Yes, the MQSeries datasets are linear VSAM data sets. However, even if you could figure out how to read them, that would not be able to help you. First, multiple queues can (and normally will) be in the same dataset. Second, messages are only written out to them if MQ runs out of buffer space in memory (and in some other cases). The goal is to keep them in memory until they are read, so that no I/O is ever needed.

#10:  Author: nivedita PostPosted: Wed Jan 07, 2004 8:56 am
    —
Hi,
I would like to know whether MQINQ(inquire) will give the information of Queue depth of only commited or uncommited messagesor both?

#11:  Author: offshore PostPosted: Thu Jan 08, 2004 11:16 am
    —
Manas Biswal,

You said you didn't have Admin access....what type of access do you have if any. Do you have connect/browse access?

From the SYSLOG command line there is the ability to display q depth.

COMMAND:
+QMGR_NAME DIS QL(Q_NAME) CURDEPTH

+ = command prefix, default is the "+" sign.

It will display the following in syslog:


CSQM293I +QMGR_NAME CSQMDMSG 1 QLOCAL FOUND MATCHING REQUEST CRITERIA
CSQM201I +QMGR_NAME CSQMDMSG DIS QLOCAL DETAILS 994
QUEUE(Q_NAME)
TYPE(QLOCAL)
CURDEPTH(7)



NV = i think the MQINQ shows uncommitted messages also...

#12:  Author: JebaLocation: Columbus, GA PostPosted: Sun Mar 07, 2004 9:32 pm
    —
Hi all,

You can execute the following step to get the current depth

Code:

//ERTCTEST EXEC PGM=CSQUTIL,PARM='QMGR'                           
//SYSPRINT  DD SYSOUT=*                                           
//SYSIN     DD *                                                   
 COMMAND DDNAME(COMMANDS) FAILURE(STOP)                           
//*                                                               
//COMMANDS  DD *                                                   
  DISPLAY QSTATUS(QNAME) CMDSCOPE(QMGR) CURDEPTH
/*



MVSFORUMS.com -> CICS and Middleware


output generated using printer-friendly topic mod. All times are GMT - 5 Hours

Page 1 of 1

Powered by phpBB © 2001, 2005 phpBB Group