Changeset 412 for trunk/sources/HeuristicLab.DistributedEngine
- Timestamp:
- 07/31/08 00:15:31 (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.DistributedEngine/DistributedEngine.cs
r383 r412 130 130 foreach(AtomicOperation parOperation in compositeOperation.Operations) { 131 131 ProcessingEngine resultEngine = jobManager.EndExecuteOperation(parOperation); 132 if(resultEngine.ExecutionStack.Count > 0) { 133 // when there are operations left in the execution stack it means that the engine has been aborted 134 // for unkown reason. Probably there was a problem at the client, so we can try to execute the steps locally. 132 if(resultEngine.Canceled) { 133 // When the engine was canceled because of a problem at the client we can try to execute the steps locally. 135 134 // If they also fail the (local) distributued-engine will be aborted and we will see an error-message. 136 // Solution: We could push all waiting operations in the execution stack of the result engine into our own 137 // execution stack, but this is not easy because we have to change the operations to point to the 138 // original scopes instead of the new scopes (created while deserializing the processing engine). 139 // Instead just push the original parallel operation back on the stack to force local execution. 135 // so just push the original parallel operation back on the stack to force local execution. 140 136 ExecutionStack.Push(parOperation); 141 137 } else { … … 182 178 prunedScopes.Add(subScopes); 183 179 // remove all my sub-scopes 184 foreach(IScope subScope in subScopes) { 180 foreach(IScope subScope in subScopes) { 185 181 currentScope.RemoveSubScope(subScope); 186 182 }
Note: See TracChangeset
for help on using the changeset viewer.