public override Task <GetProcessingResultResponse> GetProcessingResult(GetProcessingResultRequest request, ServerCallContext context) { string id = request.Id; string status = "inProgress"; string resultRank = String.Empty; var responce = new GetProcessingResultResponse { Rank = resultRank, Status = status }; IDatabase db = _redis.GetDatabase(); for (int i = 0; i < 10; i++) { resultRank = db.StringGet("rank_" + id); if (resultRank != null) { responce.Status = "Completed"; responce.Rank = resultRank; break; } Thread.Sleep(500); } return(Task.FromResult(responce)); }
public override Task <GetProcessingResultResponse> GetProcessingResult(GetProcessingResultRequest request, ServerCallContext context) { IDatabase db = _redis.GetDatabase(); double measure = -1; int i = 0; while (i < 5) { string JSON = db.StringGet(request.Id); var model = JsonSerializer.Deserialize <RedisModel>(JSON); if (model.Measure != -1) { measure = model.Measure; break; } Thread.Sleep(1000); i++; } var resp = new GetProcessingResultResponse { Measure = measure }; if (measure == -1) { resp.Status = "in_progress"; } else { resp.Status = "done"; } return(Task.FromResult(resp)); }
public override Task <GetProcessingResultResponse> GetProcessingResult(GetProcessingResultRequest request, ServerCallContext context) { string id = request.Id; double rank = -1; IDatabase db = _redis.GetDatabase(); int index = 0; while (index++ < MAX_RETRIES) { string JSON = db.StringGet(id); var model = JsonSerializer.Deserialize <RedisPayloadModel>(JSON); if (model.Rank != -1) { rank = model.Rank; break; } Thread.Sleep(SLEEP_TIMEOUT); } var resp = new GetProcessingResultResponse { Rank = rank }; if (rank == -1) { resp.Status = "in_progress"; } else { resp.Status = "done"; } return(Task.FromResult(resp)); }
public override Task <GetProcessingResultResponse> GetProcessingResult(GetProcessingResultRequest request, ServerCallContext context) { RedisPayload payload = GetPayloadFromRedis(request.Id); var resp = new GetProcessingResultResponse { Rank = payload.Rank, Status = payload.Rank == -1 ? "1" : "2", Description = payload.Description, Text = payload.Data, }; return(Task.FromResult(resp)); }