ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » TimeoutNotification node fire at a particular time

Post new topic  Reply to topic
 TimeoutNotification node fire at a particular time « View previous topic :: View next topic » 
Author Message
DirtyHowi
PostPosted: Mon Feb 24, 2014 7:15 am    Post subject: TimeoutNotification node fire at a particular time Reply with quote

Novice

Joined: 17 Feb 2014
Posts: 22

Rather than on an interval.

I dont see in the properties where i can set a "time" for the timeout notification node to fire, i see an interval.

Do i need to set up a transaction start monitor event to get it to fire at a particular time during the day? i have the need to update a full catalog from a vendor but only want to do so at night at say 2030 hours, takes about 15 minutes to load the DB from there with the information.

I've been reading the IBM MB help to no avail.

TIA
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Feb 24, 2014 7:32 am    Post subject: Re: TimeoutNotification node fire at a particular time Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

DirtyHowi wrote:
I dont see in the properties where i can set a "time" for the timeout notification node to fire, i see an interval.


This is because a "timeout" is typically expressed as an interval, i.e. the period after which somthing is to happen.

DirtyHowi wrote:
Do i need to set up a transaction start monitor event to get it to fire at a particular time during the day?


Interesting; how would you propose to wire that? The monitor event is fired by the trasnaction actually starting, so how would you get the production of the event to fire the transaction? Do you propose some kind of cascade where the flow is triggered by the event from the previous transaction & checks the time?

DirtyHowi wrote:
i have the need to update a full catalog from a vendor but only want to do so at night at say 2030 hours, takes about 15 minutes to load the DB from there with the information.


As I see it, you have these main options:

- use the OS (cron or equivalent) to start your flow at the relevant time and stop it once it's done
- use the OS (cron or equivalent) to drop a message onto a queue and use that to trigger your flow
- on WMBv8 or below use the IA9Z support pack to schedule the flow
- on IIBv9 use WFM to schedule the flow

Other and possibly better solutions are undoubtably possible
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
smdavies99
PostPosted: Mon Feb 24, 2014 9:45 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

You CAN make this happen but it takes some work, ie, some coding.

You fire the Timer to get the flow going and then reset the paramters to start at the desired time and with the desired interval.

I use this to 'fix' the flow that generates all the timed events in my systems. IT does not matter when the flow starts the repeat events all start every minute on the minute.
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Feb 24, 2014 9:59 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

smdavies99 wrote:
You CAN make this happen but it takes some work, ie, some coding.

You fire the Timer to get the flow going and then reset the paramters to start at the desired time and with the desired interval.

I use this to 'fix' the flow that generates all the timed events in my systems. IT does not matter when the flow starts the repeat events all start every minute on the minute.


If you're trying it (as the OP is) to generate an interval not of 60 seconds syncronized to the minute, but an interval of 24 hours syncronized to the minute, what would happen if someone (or something) restarted the broker / EG / server during the 24 hour wait? Wouldn't the interval restart with 24 hours from whenever the restart happened to be?
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Gralgrathor
PostPosted: Mon Feb 24, 2014 10:46 am    Post subject: Reply with quote

Master

Joined: 23 Jul 2009
Posts: 297

I like a cron4j-like solution for this. Basically a database of timing rules interpreted by a flow at regular intervals to see whether there's an upcoming event. The database can contain repeating or one-time rules.
_________________
A measure of wheat for a penny, and three measures of barley for a penny; and see thou hurt not the oil and the wine.
Back to top
View user's profile Send private message Send e-mail
smdavies99
PostPosted: Mon Feb 24, 2014 12:21 pm    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

Vitor wrote:


If you're trying it (as the OP is) to generate an interval not of 60 seconds syncronized to the minute, but an interval of 24 hours syncronized to the minute, what would happen if someone (or something) restarted the broker / EG / server during the 24 hour wait? Wouldn't the interval restart with 24 hours from whenever the restart happened to be?


Good point. One system I support has a timer that runs every 10 minutes. The only time you may miss the times event is if there is a restart less than 10 minutes before the due time.

So with a 1 minute repeat, I have a DB Table listing the times of the events that are not bound to the 1 minute cycle. The table is read at startup and held in a shared row. An example of one of these is to send a message to be sent to a flow at 00:01:00 and only that time of the day.
As I said, properly designed it all works.
IT does rely on the initial timer to fire at the time the flow is started to allow the re-sync of the time to the minute on the clock.

A solution can be found to the OP question. It just takes a bit of thought and trying a few things out.
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » TimeoutNotification node fire at a particular time
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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.