コード例 #1
0
        public void sendMessages(int count)
        {
            var bulk = client
                       .GetMessages(cfg => cfg
                                    .ForMessage <SendMailMessageCommand>(msg => msg
                                                                         .FromQueues("sendmailmessagecommand_scheduler_receiver")
                                                                         .WithBatchSize(count))
                                    );

            var msgs = bulk.GetMessages <SendMailMessageCommand>();

            _logger.Debug("Got messages: " + msgs.Count());
            msgs.ToList().ForEach(async msg =>
            {
                try
                {
                    var x = msg.Message;
                    await _mailer.SendEmail(x.Address, x.Subject, x.Body);
                    msg.Ack();
                }
                catch (Exception)
                {
                    msg.Nack();
                }
            });
        }