public void Create_Default()
        {
            var messages = new List <QueueMessage <IMessage, IAdditionalMessageData> >();
            var test     = new SendMessageCommandBatch(messages);

            Assert.Equal(messages, test.Messages);
        }
Exemplo n.º 2
0
        /// <inheritdoc />
        public async Task <QueueOutputMessages> Handle(SendMessageCommandBatch commandSend)
        {
            var rc        = new ConcurrentBag <IQueueOutputMessage>();
            var splitList = commandSend.Messages.Partition(_sendBatchSize.BatchSize(commandSend.Messages.Count))
                            .Select(x => x.ToList())
                            .ToList();

            foreach (var m in splitList)
            {
                var meta         = _serializer.InternalSerializer.ConvertToBytes(new RedisMetaData(_unixTimeFactory.Create().GetCurrentUnixTimestampMilliseconds()));
                var sentMessages = await SendMessagesAsync(m, meta).ConfigureAwait(false);

                foreach (var s in sentMessages)
                {
                    rc.Add(s);
                }
            }
            return(new QueueOutputMessages(rc.ToList()));
        }