Author |
Message
|
udayakumarisampalli |
Posted: Tue Nov 28, 2006 10:31 pm Post subject: Scheduling the Message flow to run for Time intervel |
|
|
Novice
Joined: 20 Jul 2006 Posts: 19 Location: India
|
i have done general message flows in the MB 6. now i have requirement where i need to design a flow which need to be run at every 30 min to look in to perticulr location where it will get the SOAP message and run for all those messages.
how to schedule the message flow to pick up messages at every 30 min. do i need to use the TIMEOUT node? if you have sample code or same flow please share with me. or else any kind input or thought process to implement this is required.
regards
Uday |
|
Back to top |
|
 |
jbanoop |
Posted: Tue Nov 28, 2006 11:37 pm Post subject: |
|
|
Chevalier
Joined: 17 Sep 2005 Posts: 401 Location: SC
|
timeout notification node, setting the timeout interval as 1800 with MQGet..
but then MQGet in my knowledge will take only 1 message at a time ...
Anoop |
|
Back to top |
|
 |
udayakumarisampalli |
Posted: Wed Nov 29, 2006 12:41 am Post subject: |
|
|
Novice
Joined: 20 Jul 2006 Posts: 19 Location: India
|
thank you anoop. i have one more doubt like here we will uisng some kind of INput node and then connecting it to the TImeoutNotification node right? with this when ever message arrives input node will pick up the message and process it after 30 min. here i have two questions.
1. willl this process at every 30 min or will this process the message after it ariving 30 min. if it is first case no issue but if runs like second case if messages are keep on coming after 30 min of message flow started running it will continiously process the messages
2. can i have any thing like where message flow will picks up the message after a given intervel of time. say after every 30 min directly form the source not like taking the message and stroring and processing.
can you please expain in detail. |
|
Back to top |
|
 |
Vitor |
Posted: Wed Nov 29, 2006 12:54 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Nov 29, 2006 2:52 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
But this is a really BAD requirement!
Don't do batch processing, please! _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
udayakumarisampalli |
Posted: Wed Nov 29, 2006 4:03 am Post subject: |
|
|
Novice
Joined: 20 Jul 2006 Posts: 19 Location: India
|
batch processing is not possibel as messages are coming from N different sources based on the content i need to send to N diffent destinations that to it should not happen continiously only after every 30 min. i saw from the link sent by VITOR i may use TimeoutNotification node. did any one had proacticle exp on this? |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Nov 29, 2006 4:40 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Waiting 30 minutes to process a queue is entirely doing batch processing.
Vitor already gave you all the possible assistance you could need to solve this problem.
Also, you may want to make sure you're clear on your requirements. Do you need to process ALL the messages on the queue after 30 minutes, or do you need to DELAY *every* message by 30 minutes. These are different requirements and need different design to accomplish. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
udayakumarisampalli |
Posted: Thu Nov 30, 2006 12:55 am Post subject: got the solution |
|
|
Novice
Joined: 20 Jul 2006 Posts: 19 Location: India
|
hi All,
i could able to find solution for my requirement with help of he suggestions from anoop and Vitor. here is solution for those who may require it:
i have used TimeoutNotification node as the first node and connected it out terminal to the MQGet node where i am taking the messages and connected it to the Compute node for contact admin and Dynamic Routing details and connected OutTerminal of the Comput node to the MQOutnode. as the MQGet node picks up only one message so i have connected the MQOutput node OutTerminal to the MQGet NOde in terminal so when the flow started after given interval (say 30 min in my case) it is going to the loop tilll all the messages completed in the queue.
any suggestions to further improvemnt is accepted.
thank you all of you help me in reaching the solution
regards
Uday |
|
Back to top |
|
 |
jbanoop |
Posted: Thu Nov 30, 2006 3:20 am Post subject: |
|
|
Chevalier
Joined: 17 Sep 2005 Posts: 401 Location: SC
|
you might want the transactionality of the MQOutput node to "No" to be able to put each message outside the transaction (message flow) however it would depend on your requirement |
|
Back to top |
|
 |
prasadpav |
Posted: Thu Nov 30, 2006 9:37 am Post subject: |
|
|
 Centurion
Joined: 03 Oct 2004 Posts: 142
|
Hi Jeff,
Its an interesting comment:
Quote: |
But this is a really BAD requirement!
Don't do batch processing, please!
|
We have exactly the same requirement to process the messages in a batch. The messages which are coming are of low priority and must be processed only during off-peak time (because receiving system is a critical system and do not want to accept these messages during peak time). The sending application is a web application putting messages on MQ queue. We need to use message broker (there is no other way for us!!!) to process these messages. So, we resorted to using timer notification node. Since, you made the comment of not doing batch processing, are there any inherit problems in doing this?
Regards,
Prasad |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu Nov 30, 2006 9:48 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
There aren't any inherent problems in doing it.
It's just not a good design for messaging.
In cases where people want to delay messages in their infrastructure, I always wonder why they send them at the "wrong" time in the first place.
And there are better ways to handle "low priority" messages than delaying them outside applications.
On the flip side, a reasonable argument can be made that "scheduled delivery" is an enterprise wide service and should be handled at the enterprise level and not in individual applications. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
|