Example #1
0
 /// <summary>
 /// Perform acknowledgement message from the sender.
 /// </summary>
 /// <param name="message"></param>
 private void HandleAcknowldgement(AcknowledgementMessage message)
 {
     if (message.Receipt == AcknowledgementReceipt.CANCELED)
     {
         throw new JobCanceledException();
     }
     else if (message.Receipt == AcknowledgementReceipt.INVALID_TASK)
     {
         Context.Parent.Tell(new JobFailedMessage(message.Description, message.ID, JobStatus.Failed));
         ColorConsole.WriteLineRed($"Task {message.ID}. {message.Description} is invalid.");
     }
     else if (message.Receipt == AcknowledgementReceipt.FAILED)
     {
         Context.Parent.Tell(new JobFailedMessage(message.Description, message.ID, JobStatus.Failed));
         ColorConsole.WriteLineRed($"Task {message.ID}. { message.Description} is failed due to unhandled exeption.");
     }
     else if (message.Receipt == AcknowledgementReceipt.TIMEOUT)
     {
         Context.Parent.Tell(new JobFailedMessage(message.Description, message.ID, JobStatus.Timeout));
         ColorConsole.WriteLineRed("Task ID: {0} is cancelled due to time out error.", message.ID);
     }
     else
     {
         if (message.CompletionTime == 0)
         {
             ColorConsole.WriteLineCyan($"Task ID: {message.ID} failed to execute by external application.");
             Context.Parent.Tell(new JobFailedMessage(message.Description, message.ID, JobStatus.Cancelled));
         }
         else
         {
             ColorConsole.WriteLineCyan("Task ID: {0} completed successfully by worker.", message.ID);
             Context.Parent.Tell(new JobCompletedMessage(message.Description, message.ID, message.CompletionTime));
         }
     }
 }
Example #2
0
 private void HandleAcknowledgement(AcknowledgementMessage ack)
 {
     Interlocked.Add(ref IOPipeline.ChunkStreamContext.WriteUnAcknowledgedSize, ack.BytesReceived * -1);
 }