Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/16/09 17:33:09 (15 years ago)
Author:
msteinbi
Message:

added request and abort snapshot (#572)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Hive.Server.Core/3.2/ClientCommunicator.cs

    r1530 r1577  
    240240        heartbeatLock.ExitWriteLock();
    241241
    242         response.Success = true;
    243         response.StatusMessage = ApplicationConstants.RESPONSE_COMMUNICATOR_HEARTBEAT_RECEIVED;
    244242        // check if client has a free core for a new job
    245243        // if true, ask scheduler for a new job for this client
     
    248246        else
    249247          response.ActionRequest.Add(new MessageContainer(MessageContainer.MessageType.NoMessage));
     248
     249        response.Success = true;
     250        response.StatusMessage = ApplicationConstants.RESPONSE_COMMUNICATOR_HEARTBEAT_RECEIVED;
    250251
    251252        processJobProcess(hbData, jobAdapter, clientAdapter, response);
     
    287288            response.Success = false;
    288289            response.StatusMessage = ApplicationConstants.RESPONSE_COMMUNICATOR_JOB_IS_NOT_BEEING_CALCULATED;
    289           } else if (curJob.State == State.finished) {
    290             // another client has finished this job allready
    291             // the client can abort it
     290          } else if (curJob.State == State.abort) {
     291            // a request to abort the job has been set
    292292            response.ActionRequest.Add(new MessageContainer(MessageContainer.MessageType.AbortJob, curJob.Id));
    293293          } else {
     
    295295            curJob.Percentage = jobProgress.Value;
    296296            jobAdapter.Update(curJob);
     297
     298            if (curJob.State == State.requestSnapshot) {
     299              // a request for a snapshot has been set
     300              response.ActionRequest.Add(new MessageContainer(MessageContainer.MessageType.RequestSnapshot, curJob.Id));
     301            }
    297302          }
    298303        }
     
    301306   
    302307    /// <summary>
    303     /// if the client asked to pull a job he calls this method
     308    /// if the client was told to pull a job he calls this method
    304309    /// the server selects a job and sends it to the client
    305310    /// </summary>
     
    348353          jobAdapter.GetById(jobId);
    349354
     355        if (job == null) {
     356          response.Success = false;
     357          response.StatusMessage = ApplicationConstants.RESPONSE_COMMUNICATOR_NO_JOB_WITH_THIS_ID;
     358          response.JobId = jobId;
     359          return response;
     360        }
    350361        if (job.Client == null) {
    351362          response.Success = false;
    352363          response.StatusMessage = ApplicationConstants.RESPONSE_COMMUNICATOR_JOB_IS_NOT_BEEING_CALCULATED;
     364          response.JobId = jobId;
    353365          return response;
    354366        }
     
    356368          response.Success = false;
    357369          response.StatusMessage = ApplicationConstants.RESPONSE_COMMUNICATOR_WRONG_CLIENT_FOR_JOB;
    358           return response;
    359         }
    360         if (job == null) {
    361           response.Success = false;
    362           response.StatusMessage = ApplicationConstants.RESPONSE_COMMUNICATOR_NO_JOB_WITH_THIS_ID;
     370          response.JobId = jobId;
    363371          return response;
    364372        }
     
    366374          response.Success = true;
    367375          response.StatusMessage = ApplicationConstants.RESPONSE_COMMUNICATOR_JOBRESULT_RECEIVED;
     376          response.JobId = jobId;
    368377          return response;
    369378        }
     
    371380          response.Success = false;
    372381          response.StatusMessage = ApplicationConstants.RESPONSE_COMMUNICATOR_WRONG_JOB_STATE;
     382          response.JobId = jobId;
    373383          return response;
    374384        }
Note: See TracChangeset for help on using the changeset viewer.