#pragma warning disable IDE0060 // Remove unused parameter
        public static async Task ClearDeadLetterServiceBusQueue([TimerTrigger("* 0 * * 1", RunOnStartup = true)] TimerInfo myTimer,
            ILogger log)
        {
#pragma warning restore IDE0060 // Remove unused parameter

            var deadLetterQueueName = $@"{Environment.GetEnvironmentVariable("ServiceBusQueueName")}/$DeadLetterQueue";
            await using var client = new Azure.Messaging.ServiceBus.ServiceBusClient(Environment.GetEnvironmentVariable(@"ServiceBusConnection"));
            client.ConfigureAwait(false);

            await using var processor = client.CreateProcessor(deadLetterQueueName, new Azure.Messaging.ServiceBus.ServiceBusProcessorOptions { AutoCompleteMessages = true });
            processor.ProcessMessageAsync += a =>
             {
                 try
                 {
                     // swallow because the MessageHandlerOptions will autocomplete the msg for us
                     log.LogInformation($@"Cleared message {a.Message.MessageId} from Dead Letter queue. Content: {Encoding.Default.GetString(a.Message.Body)}");
                 }
                 catch (Exception completeEx)
                 {
                     // log, but don't worry about, errors
                     log.LogError(completeEx, $@"Encountered an error completing msg in dead letter queue");
                 }
                 return Task.CompletedTask;
             };

            processor.ProcessErrorAsync += a =>
            {
                log.LogError(a.Exception, $@"Encountered an error completing msg in dead letter queue");
                return Task.CompletedTask;
            };
        }
Exemplo n.º 2
0
 protected internal virtual Azure.Messaging.ServiceBus.ServiceBusReceiver CreateBatchMessageReceiver(Azure.Messaging.ServiceBus.ServiceBusClient client, string entityPath, Azure.Messaging.ServiceBus.ServiceBusReceiverOptions options)
 {
     throw null;
 }
Exemplo n.º 3
0
 protected internal virtual Azure.Messaging.ServiceBus.ServiceBusSessionProcessor CreateSessionProcessor(Azure.Messaging.ServiceBus.ServiceBusClient client, string entityPath, Azure.Messaging.ServiceBus.ServiceBusSessionProcessorOptions options)
 {
     throw null;
 }
Exemplo n.º 4
0
 protected internal virtual Azure.Messaging.ServiceBus.ServiceBusSender CreateMessageSender(Azure.Messaging.ServiceBus.ServiceBusClient client, string entityPath)
 {
     throw null;
 }
Exemplo n.º 5
0
 protected internal virtual Microsoft.Azure.WebJobs.ServiceBus.MessageProcessor CreateMessageProcessor(Azure.Messaging.ServiceBus.ServiceBusClient client, string entityPath, Azure.Messaging.ServiceBus.ServiceBusProcessorOptions options)
 {
     throw null;
 }
 public virtual Azure.Messaging.ServiceBus.ServiceBusSessionProcessor CreateSessionProcessor(Azure.Messaging.ServiceBus.ServiceBusClient client, string entityPath)
 {
     throw null;
 }
 public virtual Microsoft.Azure.WebJobs.ServiceBus.SessionMessageProcessor CreateSessionMessageProcessor(Azure.Messaging.ServiceBus.ServiceBusClient client, string entityPath)
 {
     throw null;
 }
 public virtual Azure.Messaging.ServiceBus.ServiceBusSender CreateMessageSender(Azure.Messaging.ServiceBus.ServiceBusClient client, string entityPath)
 {
     throw null;
 }
 public virtual Azure.Messaging.ServiceBus.ServiceBusReceiver CreateBatchMessageReceiver(Azure.Messaging.ServiceBus.ServiceBusClient client, string entityPath)
 {
     throw null;
 }
 public SessionMessageProcessor(Azure.Messaging.ServiceBus.ServiceBusClient client, Azure.Messaging.ServiceBus.ServiceBusSessionProcessor processor)
 {
 }