public Task <QueueInfo> GetQueueInfo(GetQueueInfoArgs args) { var queueInfo = new QueueInfo(); var commands = _commandQueue.Items.ToList(); queueInfo.TotalCount = commands.Count; if (args.Include(GetQueueInfoArgs.Commands)) { //(IList<object>)xxx => InvalidCastException: 'IList<ICommand>' to type 'IList<Object>'. queueInfo.Commands = commands.Cast <object>().ToList(); } if (args.Include(GetQueueInfoArgs.CommandSums)) { var commandSums = commands.GroupBy(x => x.CommandType).Select(g => { var commandSum = new CommandSum(); commandSum.CommandType = g.Key; commandSum.CommandCount = g.Count(); return(commandSum); }).ToList(); queueInfo.CommandSums = commandSums; } return(Task.FromResult(queueInfo)); }
public Task <QueueInfo> QueryQueue() { var apiProxy = ApiProxyContext.Current; var getQueueInfoArgs = new GetQueueInfoArgs(); getQueueInfoArgs.SetIncludes(GetQueueInfoArgs.Commands, GetQueueInfoArgs.CommandSums); return(apiProxy.GetQueueInfo(getQueueInfoArgs)); }
public Task <QueueInfo> GetQueueInfo(GetQueueInfoArgs args) { var requestUri = _config.GetRequestUri(nameof(GetQueueInfo)); if (!string.IsNullOrWhiteSpace(args.Includes)) { requestUri = requestUri + "?Includes=" + args.Includes; } return(_webApiHelper.GetAsJson <QueueInfo>(requestUri, null)); }
public Task <QueueInfo> GetQueueInfo(GetQueueInfoArgs args) { var isOk = CheckApiStatusOkSmart(); if (!isOk) { return(_nullApiProxy.GetQueueInfo(args)); } var task = Proxy.GetQueueInfo(args); var failTask = task.ContinueWith(HandleApiTaskEx, TaskContinuationOptions.OnlyOnFaulted); var theTask = Task.WhenAny(task, failTask); if (theTask == failTask) { return(_nullApiProxy.GetQueueInfo(args)); } return(task); }
public Task <QueueInfo> GetQueueInfo(GetQueueInfoArgs args) { return(_clientTracerApi.GetQueueInfo(args)); }
public Task <QueueInfo> GetQueueInfo(GetQueueInfoArgs args) { return(Task.FromResult(new QueueInfo())); }