Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/11/10 15:30:03 (13 years ago)
Author:
cneumuel
Message:

#1260

  • added LogServiceReader to display log for slave without writing to local files
  • aborted jobs with childjobs now got back to state WaitForChildJob (instead of Offline)
  • lifecyclemanager now knows about available plugins (does not yet work perfectly)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/WcfService.cs

    r4710 r4772  
    173173        MemoryStream memStream = null;
    174174        try {
    175           if (ar.IsCompleted) {
    176             Logger.Debug("ENDED: Fetching of Jobs from Server for Slave");
    177             stream = service.Obj.EndGetStreamedJob(ar);
    178 
    179             //first deserialize the response
    180             BinaryFormatter formatter = new BinaryFormatter();
    181             ResponseObject<JobDto> response = (ResponseObject<JobDto>)formatter.Deserialize(stream);
    182 
    183             //second deserialize the BLOB
    184             memStream = new MemoryStream();
    185 
    186             byte[] buffer = new byte[3024];
    187             int read = 0;
    188             while ((read = stream.Read(buffer, 0, buffer.Length)) > 0) {
    189               memStream.Write(buffer, 0, read);
    190             }
    191 
    192             memStream.Close();
    193 
    194             GetJobCompletedEventArgs completedEventArgs = new GetJobCompletedEventArgs(new object[] { response, memStream.GetBuffer() }, null, !ar.IsCompleted, ar.AsyncState);
    195             GetJobCompleted(this, completedEventArgs);
    196 
    197           } else {
    198             HandleNetworkError(new FaultException("GetJobAsync did not complete"));
     175          Logger.Debug("ENDED: Fetching of Jobs from Server for Slave");
     176          stream = service.Obj.EndGetStreamedJob(ar);
     177
     178          //first deserialize the response
     179          BinaryFormatter formatter = new BinaryFormatter();
     180          ResponseObject<JobDto> response = (ResponseObject<JobDto>)formatter.Deserialize(stream);
     181
     182          //second deserialize the BLOB
     183          memStream = new MemoryStream();
     184
     185          byte[] buffer = new byte[3024];
     186          int read = 0;
     187          while ((read = stream.Read(buffer, 0, buffer.Length)) > 0) {
     188            memStream.Write(buffer, 0, read);
    199189          }
     190
     191          memStream.Close();
     192
     193          GetJobCompletedEventArgs completedEventArgs = new GetJobCompletedEventArgs(new object[] { response, memStream.GetBuffer() }, null, !ar.IsCompleted, ar.AsyncState);
     194          GetJobCompleted(this, completedEventArgs);
    200195        }
    201196        catch (Exception e) {
     
    236231            stream.Dispose();
    237232
    238           if (ar.IsCompleted) {
    239             var res = service.Obj.EndStoreFinishedJobResultStreamed(ar);
    240             StoreFinishedJobResultCompletedEventArgs args = new StoreFinishedJobResultCompletedEventArgs(new object[] { res }, null, false, null);
    241             Logger.Debug("calling the Finished Job Event");
    242             GetFinishedJobResultCompleted(this, args);
    243             Logger.Debug("ENDED: Sending back the finished job results");
    244           } else {
    245             HandleNetworkError(new FaultException("GetFinishedJobResultAsync did not complete"));
    246           }
     233          var res = service.Obj.EndStoreFinishedJobResultStreamed(ar);
     234          StoreFinishedJobResultCompletedEventArgs args = new StoreFinishedJobResultCompletedEventArgs(new object[] { res }, null, false, null);
     235          Logger.Debug("calling the Finished Job Event");
     236          GetFinishedJobResultCompleted(this, args);
     237          Logger.Debug("ENDED: Sending back the finished job results");
    247238        }
    248239        catch (Exception e) {
     
    269260            stream.Dispose();
    270261
    271           if (ar.IsCompleted) {
    272             var res = service.Obj.EndStoreFinishedJobResultStreamed(ar);
    273             ProcessSnapshotCompletedEventArgs args = new ProcessSnapshotCompletedEventArgs(new object[] { res }, null, false, null);
    274             ProcessSnapshotCompleted(this, args);
    275           } else {
    276             HandleNetworkError(new FaultException("ProcessSnapshotAsync did not complete"));
    277           }
     262          var res = service.Obj.EndStoreFinishedJobResultStreamed(ar);
     263          ProcessSnapshotCompletedEventArgs args = new ProcessSnapshotCompletedEventArgs(new object[] { res }, null, false, null);
     264          ProcessSnapshotCompleted(this, args);
    278265        }
    279266        catch (Exception e) {
Note: See TracChangeset for help on using the changeset viewer.