public async Task <CmdResponseBO <DequeueMessagesCmd> > Handle(DequeueMessagesCmd request, CancellationToken cancellationToken) { var queuedMessages = _cachingService.QueuedMessages.Where(i => i.Recipient == request.Client.Guid).ToList(); if (queuedMessages.Any()) { Console.WriteLine($"Dequeuing items from cache.."); foreach (var message in queuedMessages) { var entity = new PushMessageCmd() { Context = request.Context, MessageQueue = message }; await _mediator.Send(entity).ConfigureAwait(false); _cachingService.QueuedMessages.Remove(message); } Console.WriteLine($"Dequeued {queuedMessages.Count} item(s) from cache"); } return(new() { HttpStatusCode = HttpStatusCode.Accepted }); }
public async Task <HttpStatusCode> Push(StreamFlowMessageBO request) { var entity = new PushMessageCmd() { Context = Context, MessageQueue = request }; var response = await _mediator.Send(entity).ConfigureAwait(false); return(response.HttpStatusCode); }