Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Função BackgroudService

Não ficou claro para mim como esse cara funciona, O RabbitMqSubscriber sempre vai ficar rodando em esperando uma chamada da fila? Ele vai funcionar como um loop infinito?

Também não ficou claro o builder Service.AddHostedService(); O que é AddHostedService poderiam explicar melhor e usar outros exemplos de sua utilização?

2 respostas
solução!

Olá, Maurici! Bom dia.

A função BackgroundService é uma classe base fornecida pelo .NET para implementar serviços em segundo plano. Ela permite que você crie um serviço que será executado continuamente em um loop infinito, a menos que seja explicitamente parado.

No caso do RabbitMqSubscriber, sim, ele ficará rodando continuamente, esperando por chamadas da fila. Ele funciona como um loop infinito, onde a cada iteração ele verifica se há mensagens na fila para processar.

Quanto ao método Service.AddHostedService<RabbitMqSubscriber>(), ele é usado para registrar o serviço no contêiner de injeção de dependência do .NET. Isso permite que o serviço seja gerenciado pelo contêiner e tenha seu ciclo de vida controlado automaticamente.

O método AddHostedService é comumente usado para registrar serviços que implementam a interface IHostedService. Essa interface define métodos para iniciar e parar o serviço, que são chamados automaticamente pelo contêiner de injeção de dependência.

Além do RabbitMqSubscriber, você pode usar o AddHostedService para registrar outros serviços em segundo plano, como serviços de processamento de filas, envio de e-mails em segundo plano, atualização de cache, entre outros.

Espero que isso tenha esclarecido suas dúvidas!

Espero ter ajudado e bons estudos!

Ajudou muito obrigado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software