MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

MQSeries - Queue Depth

 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> CICS and Middleware
View previous topic :: View next topic  
Author Message
Manas Biswal
Intermediate


Joined: 29 Nov 2002
Posts: 382
Topics: 27
Location: Chennai, India

PostPosted: Tue Dec 03, 2002 6:32 am    Post subject: MQSeries - Queue Depth Reply with quote

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
View user's profile Send private message Send e-mail Yahoo Messenger
Manas Biswal
Intermediate


Joined: 29 Nov 2002
Posts: 382
Topics: 27
Location: Chennai, India

PostPosted: Tue Dec 03, 2002 8:27 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail Yahoo Messenger
Bill Dennis
Advanced


Joined: 03 Dec 2002
Posts: 579
Topics: 1
Location: Iowa, USA

PostPosted: Tue Dec 03, 2002 11:38 am    Post subject: Reply with quote

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
View user's profile Send private message
Manas Biswal
Intermediate


Joined: 29 Nov 2002
Posts: 382
Topics: 27
Location: Chennai, India

PostPosted: Wed Dec 04, 2002 4:16 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail Yahoo Messenger
Jeba
Beginner


Joined: 02 Dec 2002
Posts: 48
Topics: 9
Location: Columbus, GA

PostPosted: Wed Dec 04, 2002 11:32 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
Bill Dennis
Advanced


Joined: 03 Dec 2002
Posts: 579
Topics: 1
Location: Iowa, USA

PostPosted: Wed Dec 04, 2002 4:38 pm    Post subject: Reply with quote

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
View user's profile Send private message
Manas Biswal
Intermediate


Joined: 29 Nov 2002
Posts: 382
Topics: 27
Location: Chennai, India

PostPosted: Thu Dec 05, 2002 12:06 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail Yahoo Messenger
ak
Beginner


Joined: 04 Dec 2002
Posts: 4
Topics: 0
Location: New York, USA

PostPosted: Fri Dec 06, 2002 11:50 am    Post subject: Reply with quote

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
View user's profile Send private message
ted012
Beginner


Joined: 27 Dec 2002
Posts: 1
Topics: 0
Location: Southern California

PostPosted: Fri Dec 27, 2002 12:11 pm    Post subject: Reply with quote

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
View user's profile Send private message
nivedita
Beginner


Joined: 04 Nov 2003
Posts: 22
Topics: 15

PostPosted: Wed Jan 07, 2004 8:56 am    Post subject: Reply with quote

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
View user's profile Send private message
offshore
Beginner


Joined: 11 Dec 2003
Posts: 8
Topics: 6

PostPosted: Thu Jan 08, 2004 11:16 am    Post subject: Reply with quote

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
View user's profile Send private message
Jeba
Beginner


Joined: 02 Dec 2002
Posts: 48
Topics: 9
Location: Columbus, GA

PostPosted: Sun Mar 07, 2004 9:32 pm    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> CICS and Middleware All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group