Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/08/11 14:54:17 (13 years ago)
Author:
cneumuel
Message:

#1233

  • updated jobstates documentation
  • enhanced ganttChart
  • fixed setting of jobstates
  • added option to force lifecycle-trigger (mainly for testing purposes)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4/Core.cs

    r5599 r5636  
    140140        switch (container.Message) {
    141141          case MessageContainer.MessageType.CalculateJob:
    142             Job myJob = wcfService.GetJob(container.JobId);
    143             //TODO: handle in own thread!!
    144             JobData jobData = wcfService.GetJobData(myJob.Id);
    145             StartJobInAppDomain(myJob, jobData);
     142            Job job = wcfService.GetJob(container.JobId);
     143            JobData jobData = wcfService.GetJobData(job.Id);
     144            job = wcfService.UpdateJobState(job.Id, JobState.Calculating, null);
     145            StartJobInAppDomain(job, jobData);
    146146            break;
    147147          case MessageContainer.MessageType.ShutdownSlave:
     
    181181    }
    182182
    183     private void DoPauseJob(Guid guid) {
    184       Job job = Jobs[guid];
     183    private void DoPauseJob(Guid jobId) {
     184      Job job = Jobs[jobId];
    185185
    186186      if (job != null) {
     
    192192        try {
    193193          ClientCom.LogMessage("Sending the paused job with id: " + job.Id);
    194           wcfService.UpdateJobData(job, sJob, ConfigManager.Instance.GetClientInfo().Id);
     194          wcfService.UpdateJobData(job, sJob, ConfigManager.Instance.GetClientInfo().Id, JobState.Paused);
    195195          SlaveStatusInfo.JobsProcessed++;    //TODO: count or not count, thats the question
    196196        }
     
    215215        try {
    216216          ClientCom.LogMessage("Sending the stoppped job with id: " + job.Id);
    217           wcfService.UpdateJobData(job, sJob, ConfigManager.Instance.GetClientInfo().Id);
     217          wcfService.UpdateJobData(job, sJob, ConfigManager.Instance.GetClientInfo().Id, JobState.Paused);
    218218          SlaveStatusInfo.JobsProcessed++;    //TODO: count or not count, thats the question
    219219        }
     
    347347      } else {
    348348        Job job = Jobs[data.JobId];
    349         job.SetState(JobState.Transferring);
    350         wcfService.UpdateJobData(job, data, ConfigManager.Instance.GetClientInfo().Id);
    351         job.SetState(JobState.Waiting); // todo: what if it was a ResumeOnChildJobsFinished job before? maybe look into StateLog
     349        wcfService.UpdateJobData(job, data, ConfigManager.Instance.GetClientInfo().Id, JobState.Paused);
     350        job.SetState(JobState.Waiting);
    352351        wcfService.UpdateJob(job);
    353352      }
     
    373372        }
    374373        Job cJob = jobs[jobId];
    375         cJob.State = JobState.Finished; // TODO: what if failed?
    376374        cJob.ExecutionTime = engines[jobId].ExecutionTime;
    377375
     
    382380        try {
    383381          ClientCom.LogMessage("Sending the finished job with id: " + jobId);
    384           wcfService.UpdateJobData(cJob, sJob, ConfigManager.Instance.GetClientInfo().Id);
     382          wcfService.UpdateJobData(cJob, sJob, ConfigManager.Instance.GetClientInfo().Id, JobState.Finished);
    385383          SlaveStatusInfo.JobsProcessed++;
    386384        }
Note: See TracChangeset for help on using the changeset viewer.