Esempio n. 1
0
 public override void ProduceMessages(HttpStatusCode[] statusCodes, Message <byte[], MessageData.MessageData>[] messages)
 {
     for (var i = 0; i < Count; i++)
     {
         if (CommonConfig.CurrentValue.InfinityRetryMode && IsClientErrorStatusCode(statusCodes[i]) ||
             !(CommonConfig.CurrentValue.InfinityRetryMode && IsServerErrorStatusCode(statusCodes[i])) &&
             messages[i].Value.Tries <= 0)
         {
             ByteProducer.ProduceToDead(messages[i].Key, messages[i].Value.Content);
         }
         else
         {
             MessageDataProducer.ProduceToRetry(messages[i].Key, messages[i].Value);
         }
     }
 }
Esempio n. 2
0
        public override void ProduceMessages(HttpStatusCode[] statusCodes, Message <byte[], byte[]>[] messages)
        {
            for (var i = 0; i < Count; i++)
            {
                if (IsSuccessStatusCode(statusCodes[i]))
                {
                    continue;
                }

                if (CommonConfig.CurrentValue.InfinityRetryMode && IsClientErrorStatusCode(statusCodes[i]))
                {
                    ByteProducer.ProduceToDead(messages[i].Key, messages[i].Value);
                }
                else
                {
                    MessageDataProducer.ProduceToRetry(messages[i].Key, new MessageData.MessageData
                    {
                        Content = messages[i].Value, Ticks = DateTime.Now.Ticks, Tries = CommonConfig.CurrentValue.RetryCount
                    });
                }
            }
        }