public async ValueTask Execute(IPublisherContext context)
 {
     try
     {
         await _pipeline.Execute(context);
     }
     catch (Exception e)
     {
         _logger.LogError(e, context.Message.ToString());
     }
 }
        public async ValueTask StartAsync(IConsumerDefinition definition, IConsumerPipelineFactory pipelineFactory)
        {
            var topologyDefinition = _topology.BuildFrom(definition);

            _processor = await _client.BuildProcessorAsync(topologyDefinition);

            _sender = await _client.BuildSenderAsync(topologyDefinition);

            _processor.ProcessMessageAsync += async e =>
            {
                var message      = new DefaultServiceBusMessage(e.Message.Body);
                var context      = new DefaultConsumerContext(message, definition);
                var azureContext = new AzureConsumerContext(context, e, _bus, _sender);
                var pipeline     = pipelineFactory.Create(null);
                await pipeline.Execute(azureContext);
            };
            _processor.ProcessErrorAsync += e =>
            {
                _logger.LogError(e.Exception, e.ToString());
                return(Task.CompletedTask);
            };
            await _processor.StartProcessingAsync();
        }