Changeset 419 for trunk/sources/HeuristicLab.CEDMA.Server
- Timestamp:
- 08/01/08 17:59:19 (16 years ago)
- Location:
- trunk/sources/HeuristicLab.CEDMA.Server
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.CEDMA.Server/HeuristicLab.CEDMA.Server.csproj
r403 r419 71 71 </ItemGroup> 72 72 <ItemGroup> 73 <ProjectReference Include="..\HeuristicLab.CEDMA.Core\HeuristicLab.CEDMA.Core.csproj"> 74 <Project>{C27DDF6C-84DF-45EF-B82F-57A28DD51166}</Project> 75 <Name>HeuristicLab.CEDMA.Core</Name> 76 </ProjectReference> 73 77 <ProjectReference Include="..\HeuristicLab.CEDMA.DB.Interfaces\HeuristicLab.CEDMA.DB.Interfaces.csproj"> 74 78 <Project>{4F9BB789-D561-436B-B226-2BF44B7D0804}</Project> … … 90 94 <Project>{545CE756-98D8-423B-AC2E-6E7D70926E5C}</Project> 91 95 <Name>HeuristicLab.Grid</Name> 96 </ProjectReference> 97 <ProjectReference Include="..\HeuristicLab.Operators\HeuristicLab.Operators.csproj"> 98 <Project>{A9983BA2-B3B2-475E-8E2C-62050B71D1C5}</Project> 99 <Name>HeuristicLab.Operators</Name> 92 100 </ProjectReference> 93 101 <ProjectReference Include="..\HeuristicLab.PluginInfrastructure\HeuristicLab.PluginInfrastructure.csproj"> -
trunk/sources/HeuristicLab.CEDMA.Server/RunScheduler.cs
r403 r419 31 31 using System.Diagnostics; 32 32 using HeuristicLab.Data; 33 using HeuristicLab.CEDMA.Core; 34 using HeuristicLab.Operators; 33 35 34 36 namespace HeuristicLab.CEDMA.Server { … … 73 75 scope.AddVariable(new Variable("CedmaServerUri", new StringData(serverUri))); 74 76 IOperatorGraph opGraph = (IOperatorGraph)PersistenceManager.RestoreFromGZip(entry.RawData); 75 AtomicOperation op = new AtomicOperation(opGraph.InitialOperator, scope); 77 78 foreach(IOperator op in opGraph.Operators) { 79 PatchLinks(op); 80 } 81 82 AtomicOperation operation = new AtomicOperation(opGraph.InitialOperator, scope); 76 83 WaitHandle wHandle; 77 84 lock(remoteCommLock) { 78 wHandle = jobManager.BeginExecuteOperation(op .Scope, op);85 wHandle = jobManager.BeginExecuteOperation(operation.Scope, operation); 79 86 database.UpdateAgent(entry.Id, ProcessStatus.Active); 80 87 } … … 82 89 Job job = new Job(); 83 90 job.AgentId = entry.Id; 84 job.Operation = op ;91 job.Operation = operation; 85 92 job.WaitHandle = wHandle; 86 93 … … 90 97 } 91 98 } 99 } 100 101 private void PatchLinks(IOperator op) { 102 if(op is OperatorLink) { 103 OperatorLink link = op as OperatorLink; 104 OperatorEntry targetEntry = database.GetOperator(link.Id); 105 IOperator target = (IOperator)PersistenceManager.RestoreFromGZip(targetEntry.RawData); 106 ReplaceOperatorInGraph(link, target); 107 } else if(op is CombinedOperator) { 108 CombinedOperator combinedOp = op as CombinedOperator; 109 foreach(IOperator internalOp in combinedOp.OperatorGraph.Operators) { 110 PatchLinks(internalOp); 111 } 112 } 113 } 114 115 private void ReplaceOperatorInGraph(OperatorLink link, IOperator target) { 116 throw new NotImplementedException(); 92 117 } 93 118
Note: See TracChangeset
for help on using the changeset viewer.