Home      Members   Calendar   Who's On

Welcome Guest ( Login | Register )
      

Home » BPM.NET 2007/Sharepoint Accelerator 2007 » BPM.NET 2007/Sharepoint Accelerator 2007 » Workflow Execution » How to: Execution rollback

15 posts, Page 1 of 2. 12»»

How to: Execution rollbackExpand / Collapse
Author
Message
Posted Friday, December 07, 2007
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

Group: Forum Members
Last Login: Wednesday, March 05, 2008
Posts: 80, Visits: 277
Hi there,

I was wondering if there is any chance to repeat/rollback activities in skelta.

For example, I have several workflows with more than 40/50 activities, and it takes a lot of time to test it because whenever I get an error, I have to start everything allover again.

Is there any possibility to go back and undo for example the last few activities?

What's the best practice in these situations?

Thanks in advance for your time and help.

Best regards,

Rui

Post #157
Posted Friday, December 07, 2007
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

Group: Forum Members
Last Login: Friday, February 11, 2011
Posts: 13, Visits: 27
You can use AlertAction API for this which is part of Client object,

public void AlertAction( int ExecutionDetailsID, string Output, Interfaces.ActionResult Result )

In this you need to pass the executionDetailsId of the activity which has been already executed, and the output path you want to traverse from that point and give ActionResult same as the status for that executionDetailsId.

Basically what it will do is start the workflow thread again from that point in the workflow.

However one more thing might be needed here to do rollback which would be to stop the current running thread in the workflow. For this the workflow can be first Killed and the above API can be used to restart it from specific point.

If you are just looking at API for resuming a workflow finished with error. You can use ResumeWorkflowWithError API.

So with combination of some of these APIs you should be able to address major scenarios you have spoken about out here.



Arvind Agarwal
(Skelta)
Post #158
Posted Thursday, December 13, 2007
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Group: Forum Members
Last Login: Thursday, August 14, 2008
Posts: 3, Visits: 6
Apart from using the API's we can also use the BAM Control Execution View to resume workflows which are finished with errors
Post #168
Posted Thursday, December 13, 2007
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Group: Forum Members
Last Login: Thursday, August 14, 2008
Posts: 3, Visits: 6
How to resume workflows finished with errors using BAM Control

1. Browse the BAM Control.

2. Scroll down to locate "Failed" in BAM Dash board.

3. Double click on the item [We can find this out by execution ID].

4. This will open anoter window with Process View, Execution View and Analyst View.

5. In Process View tab, on top left hand corner you will find a button which will be active. 

6. Click on the same to resume.

Post #173
Posted Friday, December 14, 2007
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

Group: Forum Members
Last Login: Wednesday, March 05, 2008
Posts: 80, Visits: 277
That is great!

Thank you
Post #185
Posted Wednesday, December 19, 2007
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

Group: Forum Members
Last Login: Wednesday, March 05, 2008
Posts: 80, Visits: 277
Hi once again,

I was having this exception thrown whenever I tried to "repeat" my alert.

"Could not connect to the workflow engine at server:port. Will retry connecting".

I increased the "Thread Pool Size", in order to have multiple instances and it seems to have done the trick.

Was this the correct thing to do? The exception wasn't very clear.

Will this affect my performance?

EDIT: Also, I haven't been able to resume an aborted/killed workflow. It shows the same error described before. I notice this error happens a lot in this kind of actions, any clue of what might be? I also get this error (sometimes) while trying to resume a workflow:

! - Error Occured While Handling Workflow Engine Notification, - Object referenc
e not set to an instance of an object., Module - C:\WINDOWS\TEMP\Skelta2007Temp\
ShadowTempSNITURHFormsRepository\assembly\dl3\f77f43fa\00a8c3c2_dc0cc801\WFEngin
e.NET2.EXE, Source - at Workflow.NET.Engine.RunTime.x1394c57b15b65d16(x9c0a6b
495f838e9f x9b491e9c1b1735a3, Int32 x0dee3720b2f3c23e, Int32 xf4010f4fdd2cd153,
String x0c9084b393c1fae4, Boolean x01de7dbce4038be4, ClientData xf0f6ada80edb9ad
d, Int32 x99bbe3a0831cff64)
at Workflow.NET.Engine.RunTime.x2182a1b884a1a3cb(x9c0a6b495f838e9f x9b491e9c1
b1735a3, Int32 xdc95310c1bfa6e40, Int32 x34fb5032dc600578, Int32 xbcdc6af256502e
68, String x9c13656d94fc62d0, ActionResult x42cb3d4678becebe, Boolean xad51be5f7
2eb1c96, ClientData xf0f6ada80edb9add)
at Workflow.NET.Engine.RunTime.x0de9bd26491cba6f(x9c0a6b495f838e9f x9b491e9c1
b1735a3)
at Workflow.NET.Engine.RunTime.xef3282115829f96a(Int32 xed4afbd4f36515f8)
at Workflow.NET.Engine.RunTime.RegisterAlert(Int32 executionId, x9c0a6b495f83
8e9f actionExecutionTracker)
at Workflow.NET.Engine.RunTime.AlertActionSynchronous(Guid eventTrackId, Int3
2 ExecutionDetailsID, String Output, ActionResult Result, Int32 localVariablesId
, ClientData ClientInfo)
at SkeltaWorkflow.ProcessApplicationFromAppDomain.xb3f9a0a027137b27(String xe
ca380a02d130389, Object[] x4d6fe8a134d18d3e), SNITURHDEV2RC, Process - WFEngine.
NET2, 20-12-2007 11:33:01

This behaviour seems to stop the workflow engine.

Any help would be much appreciated.

Thanks once again for your help.

Best regards,

Rui
Post #198
Posted Wednesday, December 26, 2007
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

Group: Forum Members
Last Login: Saturday, February 12, 2011
Posts: 133, Visits: 427

"Could not connect to the workflow engine at server: port. Will retry connecting". This is an information printed in logger console when the client is unable to sent a message to the engine for processing. This could be due to heavy traffic in messages which are sent to engine using sockets. This can be ignored.

 

For the exception, Can you cross check if you have the latest patch installed? Send the version details to support or Login to the download site and check for the same

Moderator

Post #217
Posted Wednesday, January 09, 2008
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

Group: Forum Members
Last Login: Wednesday, March 05, 2008
Posts: 80, Visits: 277
When I have the latest patch installed I'll keep an eye on this error.

Thanks for your help
Post #259
Posted Wednesday, January 09, 2008
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

Group: Forum Members
Last Login: Saturday, February 12, 2011
Posts: 133, Visits: 427
Hi,
You are always welcome!!!. Just wanted to add this for your information.If you are using the  API's to Resume/Abort or Pause a workflow, You should always use CanPause, CanResume or CanKill API's before using the above.

Workflow.NET.Engine.Client engineClient = new Workflow.NET.Engine.Client("ApplicationName","WorkflowName");
//for aborting a workflow
if(engineClient.CanKill(1))
{
 engineClient.Kill(1);
}
//for pausing a workflow
if (engineClient.CanPause(1))
{
 engineClient.Pause(1);
}
//for resuming a workflow which is paused
if (engineClient.CanResume(1))
{
 engineClient.Resume(1);
}
engineClient.Close();



Moderator
Post #262
Posted Wednesday, January 09, 2008
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

Group: Forum Members
Last Login: Wednesday, March 05, 2008
Posts: 80, Visits: 277
Should we do this even when its aborted trough the process execution view?

Thank you once again.

Rui
Post #263
« Prev Topic | Next Topic »

15 posts, Page 1 of 2. 12»»

Reading This TopicExpand / Collapse
-
Active Users: 1 (1 guest, 0 members, 0 anonymous members)
No members currently viewing this topic.

All times are GMT -5:00, Time now is 10:44am

 
Execution: 0.219.9 queries.Compression Enabled.

Copyright © 2002 - 2009 Skelta Software. All rights reserved. Tel: 1 (678) 306 4110 | Email:sales@skelta.com
Skelta - A BPM Workflow Software Company