| | | Supreme Being
       
Group: Forum Members Last Login: Wednesday, March 05, 2008 Posts: 80, Visits: 277 |
| Hello there.
How can one define a timeout for the execution of a certain workflow?
I don't want to go over every activity and define an output for each one.
Lets say I have a workflow that has 50 activities. I want to set a deadline for ending those 50 activities. Is there a way of doing this without going over every activity?
Thanks for your help.
Best regards,
Rui Costa |
| | | | Supreme Being
       
Group: Forum Members Last Login: Saturday, April 26, 2008 Posts: 128, Visits: 422 |
| Hi, You can use Set Custom Timer activity and Control Custom Timer for achieving this functionality
1) After the start activity in workflow add a Set Custom Timer and set the timeout as 10 days 2) Place the Control Custom Timer at the end of the workflow and Stop the Set Custom Timer (remove the timeout added for escallation)
If the Control Custom Timer does not get executed with in 10 days, The timeout set through the Set Custom Timer will be fired
regards,
Moderator |
| | | | Supreme Being
       
Group: Forum Members Last Login: Wednesday, March 05, 2008 Posts: 80, Visits: 277 |
| Hello once again.
What will happen then to the activity that was being executed?
Thanks for your quick reply.
Best regards,
Rui Costa |
| | | | Supreme Being
       
Group: Forum Members Last Login: Saturday, April 26, 2008 Posts: 128, Visits: 422 |
| Hi, The executing activities will remain in the same stage.If you want to remove them you'll have to Abort the workflow.
Based on the output from Set Custom timer you can set a custom action to Kill the workflow or send escallation mails.
regards,
Moderator |
| | | | Supreme Being
       
Group: Forum Members Last Login: Wednesday, March 05, 2008 Posts: 80, Visits: 277 |
| Hello once again.
I have two more questions:
1 - What if I want to start (inside the workflow) a different set of actions, and I want the other branch of my workflow to be ignored. Can this be achieved?
2 - What if I want to change the timeout value for an activity in run time? Imagine that there is an activity scheduled for time out on February 25th. However in February 24th we decide to give it an extra couple of days for the user to execute this action. Do I need a web service or custom action that changes the activity's properties?
Thanks once again for your help.
Best regards,
Rui Costa |
| | | | Supreme Being
       
Group: Forum Members Last Login: Saturday, April 26, 2008 Posts: 128, Visits: 422 |
| Hi, Please find the answers below:
1) What do you mean by ignore?. Can you please explain? The status of a workflow instance is determined by the different actions which gets executed with in the worklfow.The workflow instance will be marked as completed only after all the actions in the workflow completes. You could execute a set of action independently using the child workflow action. If you can explain me the scenario i can try to give you a better solution. 2) The activity properties are considered only when it's executed. Once a task is scheduled the task scheduler takes over and the time out event is notified when time is reached. The only option is to delete the task and reschedule it again. This has to be done from outside Skelta environment.
regards,
Moderator |
| | | | Supreme Being
       
Group: Forum Members Last Login: Wednesday, March 05, 2008 Posts: 80, Visits: 277 |
| Hello once again and thanks for your reply.
Regarding my previous questions:
1 - Let's say we have, on the same workflow, parallel activities executing. Now, if branch number one has its last activity finished successfully I would like branch number two to stop executing, so that my workflow can be terminated without errors. That's what i meant by ignoring the other branch.
2 - Could you guide me on how to do it or where can I find this information?
Thanks once again for your time and help.
Best regards,
Rui |
| | | | Supreme Being
       
Group: Forum Members Last Login: Saturday, April 26, 2008 Posts: 128, Visits: 422 |
| Hi, 1) This can be achieved using custom activity. you can kill the sleeping activity of second branch from the first branch once it completes. There are no API's available for this. You need to query DB to check which is the pending activity for the instance and then call KillAction2) You can AddTask, DeleteTask using the class Workflow.NET.TaskScheduler.Proxy.TaskScheduler in Workflow.NET.NET2.dll Workflow.NET.TaskScheduler.Proxy.TaskScheduler taskScheduler= new Workflow.NET.TaskScheduler.Proxy.TaskScheduler(hwsActivity.Configuration.ApplicationName);
regards,
Moderator |
| |
|
|