public async Task SetBizStepAsync(string id, string bizStep) { var key = await GetStatusKeyAsync(id); await RequestStatusTools.SaveBizStep(bizStep, key); await UpdateIdleExpiration(id); var callbackRouting = await GetCallbackRoutingAsync(id); _callbackReporter?.SendBizStepChanged(id, callbackRouting, bizStep); }
public async Task SetRequestStepAsync(string id, ProcessStep processStep) { var key = await GetStatusKeyAsync(id); await RequestStatusTools.SetStep(processStep, key); await UpdateIdleExpiration(id); var callbackRouting = await GetCallbackRoutingAsync(id); _callbackReporter?.SendRequestStep(id, callbackRouting, processStep); }
public async Task CompleteWithErrorAsync(string id, ProcessingError error) { var key = await GetStatusKeyAsync(id); await RequestStatusTools.SaveError(error, key); await UpdateStoreExpiration(id); var callbackRouting = await GetCallbackRoutingAsync(id); _callbackReporter?.SendCompletedWithError(id, callbackRouting, error); }
public async Task CompleteWithResultAsync(string id, byte[] content, string mimeType) { var statusKey = await GetStatusKeyAsync(id); await RequestStatusTools.SaveResult(content.Length, mimeType, statusKey); var resultKey = GetResultKey(id); var strContent = ContentToString(content, mimeType); await resultKey.SetAsync(strContent); await UpdateIdleExpiration(id); var callbackRouting = await GetCallbackRoutingAsync(id); _callbackReporter?.SendCompletedWithResult(id, callbackRouting, content, mimeType); }
public async Task <RequestResult> GetResultAsync(string id) { var statusKey = await GetStatusKeyAsync(id); var resultMime = await RequestStatusTools.ReadResultMimeType(statusKey); if (resultMime == null) { throw new RequestResultNotReadyException() .AndFactIs("reques-id", id); } var resultKey = GetResultKey(id); var resultContent = await resultKey.GetAsync(); return(new RequestResult(resultMime, resultContent)); }
public async Task <RequestStatus> GetStatusAsync(string id) { var key = await GetStatusKeyAsync(id); return(await RequestStatusTools.ReadFromRedis(key)); }