예제 #1
0
        public async Task <IActionResult> Balance([FromBody, Required] RequestDto requestDto)
        {
            var result = await _service.DistributeQueryAsync(MapRequestFromDto(requestDto));

            return(result.Result switch
            {
                QueryExecutionResult.QueryFailed => Problem(result.Message, statusCode: 400),
                QueryExecutionResult.QueryQueued => Ok(new { result.Result, result.RequestId }),
                _ => Ok(new { result.Result, result.Data })
            });
예제 #2
0
        /// <inheritdoc />
        public async Task Execute(IJobExecutionContext context)
        {
            var request = _queue.Get();

            if (request is null)
            {
                return;
            }

            var response = await _service.DistributeQueryAsync(request);

            if (response.Result == QueryExecutionResult.QueryCompleted)
            {
                _storage.Add(response);
            }
        }