public OkResult Put(FibonacciData data) { Logger.WriteLog($"Received new value {data.Value} for calculation {data.CalculationId + 1}"); Task.Run(() => { try { FibonacciData next_data = context.CalculateNext(data); Logger.WriteLog($"Сalculated next value {next_data.Value} for calculation {next_data.CalculationId + 1}"); using (IBus bus = RabbitHutch.CreateBus("host=localhost")) { bus.Publish(next_data); } Logger.WriteLog($"Sending next value {next_data.Value} for calculation {next_data.CalculationId + 1}"); } catch (Exception ex) { Logger.WriteLog($"Calculation {data.CalculationId + 1} stopped.\nError occurred: " + ex.Message); return; } }); Logger.WriteLog($"Sending confirmation of receipt of value {data.Value} for calculation {data.CalculationId + 1}"); return(Ok()); }
private Task HandleFibonacciMessage(FibonacciData data) { return(Task.Run(() => { try { Logger.WriteLog($"Received new value {data.Value} for calculation {data.CalculationId + 1}"); FibonacciData next_data = context.CalculateNext(data); Logger.WriteLog($"Сalculated next value {next_data.Value} for calculation {data.CalculationId + 1}"); httpClient.PutAsync(target, next_data.ToStringContent()).Wait(); Logger.WriteLog($"Next value {next_data.Value} for calculation {data.CalculationId + 1} has been sent"); } catch (Exception ex) { Logger.WriteLog($"Calculation {data.CalculationId + 1} stopped.\nError occurred: " + ex.Message); return; } })); }
public IndexModel(FibonacciData data) { ComputationData = data; }