Author |
Message
|
WBIMaestro |
Posted: Wed Aug 22, 2012 7:20 am Post subject: TNN to delay/drive and MQ Input Node? |
|
|
Acolyte
Joined: 18 Feb 2005 Posts: 53
|
Hi,
Ive been reading the documentation on timeout control and notification noes as well as wayne schultz's broker v6 timer node developer works article.
its not clear to me if a timeout notification node can be used in conjunction with an MQInput node to delay the reading of messages from a queue by a flow? Can it (since neither can be placed before the other)? |
|
Back to top |
|
 |
McueMart |
Posted: Wed Aug 22, 2012 7:40 am Post subject: |
|
|
 Chevalier
Joined: 29 Nov 2011 Posts: 490 Location: UK...somewhere
|
You'll be wanting to look at an MQGet node for that kind of thing (That can go mid-flow). |
|
Back to top |
|
 |
Vitor |
Posted: Wed Aug 22, 2012 7:51 am Post subject: Re: TNN to delay/drive and MQ Input Node? |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
WBIMaestro wrote: |
Can it (since neither can be placed before the other)? |
It can't.
It's also not a good idea to use an MQGet node to read messages like an MQInput node (i.e. for extended periods until the queue is empty). If you loop round to the MQGet to read the next message enough times, the execution group will crash.
If you want messages to pile up on a queue until a given time when they're all read off, use an external scheduler to start a flow with an MQInput node. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
McueMart |
Posted: Wed Aug 22, 2012 8:23 am Post subject: |
|
|
 Chevalier
Joined: 29 Nov 2011 Posts: 490 Location: UK...somewhere
|
Quote: |
. If you loop round to the MQGet to read the next message enough times, the execution group will crash. |
But not if you propagate many messages through it without looping. Of course then you can hit a problem with hitting a syncpoint limit but thats quite easily avoidable too. |
|
Back to top |
|
 |
Vitor |
Posted: Wed Aug 22, 2012 8:37 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
McueMart wrote: |
But not if you propagate many messages through it without looping. |
If you're using a Timer node to kick off an MQGet to read a queue to empty, what's propagating the messages and how do you do the next MQGet without a loop?  _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
WBIMaestro |
Posted: Wed Aug 22, 2012 1:48 pm Post subject: |
|
|
Acolyte
Joined: 18 Feb 2005 Posts: 53
|
i had similar questions in my mind too,but posted here to check if my thinking was flawed in some way. i am leaning towards using an external scheduler. thanks |
|
Back to top |
|
 |
mgk |
Posted: Wed Aug 22, 2012 1:53 pm Post subject: |
|
|
 Padawan
Joined: 31 Jul 2003 Posts: 1642
|
Quote: |
and how do you do the next MQGet without a loop? |
That's easy:
Timer -> Compute1 (propagate) MQGet -> Compute2
In Compute 2, set a flag in the Environment tree if a message was got. In Compute1 after the first PROPAGATE statement returns, check flag, if set, reset flag to false and PROPAGATE again until flag is not set...
Kind Regards, _________________ MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions. |
|
Back to top |
|
 |
McueMart |
Posted: Wed Aug 22, 2012 2:26 pm Post subject: |
|
|
 Chevalier
Joined: 29 Nov 2011 Posts: 490 Location: UK...somewhere
|
@mgk - Yes thats the exact system I have used previously. You just have to be careful in compute 1 not to propagate too many times (I think its around 500 times? I know it can be configured ..) else you hit a syncpoint limit error. |
|
Back to top |
|
 |
|