Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
12/17/08 14:46:06 (15 years ago)
Author:
svonolfe
Message:

Implemented JobResultsAdapter (#372)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Hive.Client.Core/Core.cs

    r1001 r1005  
    5151    Dictionary<long, Executor> engines = new Dictionary<long, Executor>();
    5252    Dictionary<long, AppDomain> appDomains = new Dictionary<long, AppDomain>();
    53    
     53    Dictionary<long, Job> jobs = new Dictionary<long, Job>();
     54
    5455    private WcfService wcfService;
    5556
     
    118119      long jId = (long)jobId;
    119120      byte[] sJob = engines[jId].GetFinishedJob();
    120      
    121       JobResult jobResult = new JobResult { JobId = jId, Result = sJob, Client = ConfigManager.Instance.GetClientInfo() };
     121
     122      JobResult jobResult = new JobResult { Job = jobs[jId], Result = sJob, Client = ConfigManager.Instance.GetClientInfo() };
    122123      wcfService.SendJobResultAsync(jobResult, true);     
    123124    }
     
    148149
    149150        PluginManager.Manager.Initialize();
    150         AppDomain appDomain =  PluginManager.Manager.CreateAndInitAppDomainWithSandbox(e.Result.JobId.ToString(), sandboxed, typeof(TestJob));
     151        AppDomain appDomain =  PluginManager.Manager.CreateAndInitAppDomainWithSandbox(e.Result.Job.Id.ToString(), sandboxed, typeof(TestJob));
    151152        appDomain.UnhandledException += new UnhandledExceptionEventHandler(appDomain_UnhandledException);
    152153
    153         appDomains.Add(e.Result.JobId, appDomain);
     154        jobs.Add(e.Result.Job.Id, e.Result.Job);
     155        appDomains.Add(e.Result.Job.Id, appDomain);
    154156
    155157        Executor engine = (Executor)appDomain.CreateInstanceAndUnwrap(typeof(Executor).Assembly.GetName().Name, typeof(Executor).FullName);
    156         engine.JobId = e.Result.JobId;
     158        engine.JobId = e.Result.Job.Id;
    157159        engine.Queue = MessageQueue.GetInstance();
    158160        engine.Start(e.Result.SerializedJob);
    159         engines.Add(e.Result.JobId, engine);
     161        engines.Add(e.Result.Job.Id, engine);
    160162
    161163        ClientStatusInfo.JobsFetched++;
     
    167169    void wcfService_SendJobResultCompleted(object sender, SendJobResultCompletedEventArgs e) {
    168170      if (e.Result.Success) {
    169         AppDomain.Unload(appDomains[e.Result.JobId]);
    170         appDomains.Remove(e.Result.JobId);
    171         engines.Remove(e.Result.JobId);
     171        AppDomain.Unload(appDomains[e.Result.Job.Id]);
     172        appDomains.Remove(e.Result.Job.Id);
     173        engines.Remove(e.Result.Job.Id);
    172174        ClientStatusInfo.JobsProcessed++;
    173175        Debug.WriteLine("ProcessedJobs to:" + ClientStatusInfo.JobsProcessed);
Note: See TracChangeset for help on using the changeset viewer.