View previous topic :: View next topic |
Author |
Message |
Manas Biswal Intermediate
Joined: 29 Nov 2002 Posts: 382 Topics: 27 Location: Chennai, India
|
Posted: Tue Dec 03, 2002 6:32 am Post subject: MQSeries - Queue Depth |
|
|
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 |
|
Back to top |
|
|
Manas Biswal Intermediate
Joined: 29 Nov 2002 Posts: 382 Topics: 27 Location: Chennai, India
|
Posted: Tue Dec 03, 2002 8:27 am Post subject: |
|
|
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 |
|
Back to top |
|
|
Bill Dennis Advanced
Joined: 03 Dec 2002 Posts: 579 Topics: 1 Location: Iowa, USA
|
Posted: Tue Dec 03, 2002 11:38 am Post subject: |
|
|
How about reading the queue in BROWSE mode after your test. There are samples in the MQ product library hlq.SCSQCOBS(CSQ4BVA1).
Bill |
|
Back to top |
|
|
Manas Biswal Intermediate
Joined: 29 Nov 2002 Posts: 382 Topics: 27 Location: Chennai, India
|
Posted: Wed Dec 04, 2002 4:16 am Post subject: |
|
|
Thanks Bill. I can of course always do what you have suggested. I just wanted a more short-cut approach.
Regards,
Manas |
|
Back to top |
|
|
Jeba Beginner
Joined: 02 Dec 2002 Posts: 48 Topics: 9 Location: Columbus, GA
|
Posted: Wed Dec 04, 2002 11:32 am Post subject: |
|
|
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. _________________ Thanks,
Jeba
(Known is a drop Unknown is an ocean) |
|
Back to top |
|
|
Bill Dennis Advanced
Joined: 03 Dec 2002 Posts: 579 Topics: 1 Location: Iowa, USA
|
Posted: Wed Dec 04, 2002 4:38 pm Post subject: |
|
|
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 |
|
Back to top |
|
|
Manas Biswal Intermediate
Joined: 29 Nov 2002 Posts: 382 Topics: 27 Location: Chennai, India
|
Posted: Thu Dec 05, 2002 12:06 am Post subject: |
|
|
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 |
|
Back to top |
|
|
ak Beginner
Joined: 04 Dec 2002 Posts: 4 Topics: 0 Location: New York, USA
|
Posted: Fri Dec 06, 2002 11:50 am Post subject: |
|
|
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. |
|
Back to top |
|
|
ted012 Beginner
Joined: 27 Dec 2002 Posts: 1 Topics: 0 Location: Southern California
|
Posted: Fri Dec 27, 2002 12:11 pm Post subject: |
|
|
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. |
|
Back to top |
|
|
nivedita Beginner
Joined: 04 Nov 2003 Posts: 22 Topics: 15
|
Posted: Wed Jan 07, 2004 8:56 am Post subject: |
|
|
Hi,
I would like to know whether MQINQ(inquire) will give the information of Queue depth of only commited or uncommited messagesor both? |
|
Back to top |
|
|
offshore Beginner
Joined: 11 Dec 2003 Posts: 8 Topics: 6
|
Posted: Thu Jan 08, 2004 11:16 am Post subject: |
|
|
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... |
|
Back to top |
|
|
Jeba Beginner
Joined: 02 Dec 2002 Posts: 48 Topics: 9 Location: Columbus, GA
|
Posted: Sun Mar 07, 2004 9:32 pm Post subject: |
|
|
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
/*
|
_________________ Thanks,
Jeba
(Known is a drop Unknown is an ocean) |
|
Back to top |
|
|
|
|