Author |
Message
|
amittalekar |
Posted: Tue Jun 04, 2002 11:40 am Post subject: Delay in the UPES activity |
|
|
 Disciple
Joined: 03 Apr 2002 Posts: 166 Location: VA, USA
|
Hi,
I have a UPES activity. There is a exit condition to this activity. If this condition is not met, then the output container data will be put back into the input container. This will go into the infinite loop until the exit condition is matched.
My requirement is I want this loop to be excuted in certain time interval ( I want some delay between the exit condition not matched and data again come back to input container)
How can I do this?
----Amit |
|
Back to top |
|
 |
jmac |
Posted: Tue Jun 04, 2002 2:12 pm Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
If I understand you correctly you can't do what you want. MQWF will evaluate the exit condition, and if it fails will re-ready the activity. I assume that your activity is inside a block here, since if it were not, I don't think MQWF would auto start it the 2nd time (although I am not 100% sure about this).
The only way I can think of that you can accomplish this is to have the UPES sleep prior to exiting.
GOOD LUCK _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
vedbhat |
Posted: Tue Jun 04, 2002 5:40 pm Post subject: |
|
|
 Disciple
Joined: 19 Mar 2002 Posts: 186 Location: Singapore
|
Hi,
As John mentioned you dont have an option to specify the delay but you can achieve what you want using a diferent approach.
You can have a dummy(automatic) activity as the first activity in the block, which will check whether this block is executed first time or not. If it is executing for the first time then terminate this activity immediately and continue with the block. If not it has to wait for X time interval and continue with the block.
Note: You need to use a flag which will indicate whether the block is executed for the first time or not. This flag is to be set by a value X before entering to the block and value Y when it is repeating.
I hope you understand what I have mentioned.
Cheers
Ved _________________ IBM Certified Solutions Expert - MQSeries Workflow
IBM Certified Specialist - MQSeries |
|
Back to top |
|
 |
steinra |
Posted: Thu Jun 06, 2002 2:04 pm Post subject: |
|
|
 Apprentice
Joined: 23 May 2002 Posts: 28 Location: USA
|
A way we placed a delay in our process was using a dummy activity with no implementation. We the set an expiration time for this activity. When the activity would expire it would re-execute the block and retry the operation. We use a counter in the container to control how many times it would try. The activity that worked the item would update the counter as part of its action.
This does require Workflow 3.3. Another thing to watch out for is there is a bug in workflow (for AIX at least) that a patch from IBM fixes. If you have a block with an exit condition and the last activity expires, there would be an issue. This is corrected in one of the service packs.
Also make sure your scheduling server is running. I didn't have mine running when I first tried this and it took a little while to figure out why it was not working.
John is correct. When a UPES activity has an exit condition and it is false, the activity does not automaticly restart. You have to start it from the client interface. That can be a nice feature to trap an error and hold any items that need to be worked until the error is corrected.
Hope this helps.
Randy |
|
Back to top |
|
 |
amittalekar |
Posted: Sat Jun 08, 2002 7:31 am Post subject: |
|
|
 Disciple
Joined: 03 Apr 2002 Posts: 166 Location: VA, USA
|
Hi
Hey thanks for your responses.....
I have tried the block activity earlier. It is working. But the problem using block activity is it cause overhead in the process. I am talking in terms of
"BWU" calculations. It seems using single UPES activity with exit condition and a daemon program to start the activity is the best approach (considering BWU measurement calculations).
Is there any other way to achieve this ?
--Amit |
|
Back to top |
|
 |
|