Detectar e excluir filas, tópicos ou assinaturas órfãs no barramento de serviço do Azure

Se não houver mais editores ou assinantes lendo ou gravando em uma Fila, Tópico ou Assinatura, devido a falhas ou outros términos anormais (reinicialização da instância, etc.), a Fila / Tópico / Assinatura será efetivamente órfã?

Eu testei isso criando algumas filas e finalizando os aplicativos. Essas filas ainda estavam no Service Bus muito tempo depois. Parece que eles vão ficar lá para sempre. Isso seria maravilhoso se quiséssemos esse comportamento, mas, neste caso, não o fazemos.

Como podemos detectar e excluir essas filas, tópicos e assinaturas? Eles contam para os limites do Azure, etc, e não podemos ter esses processos órfãos sempre que uma instância é reiniciada / corrigida / falha.

Se isso ajudar a tornar a questão mais clara, essa é uma situação única na qual as Filas / Tópicos / Assinaturas têm nomes especiais ou Filtros especiais e um conjunto muito limitado de editores (1) e assinantes (1) por um tempo limitado. Este não é um caso em que queremos a capacidade de sobrevivência. Esses são canais de resposta específicos da instância. Se nós usamos Filas ou Assinaturas é irrelevante. Se a instância desaparecer, a necessidade dessa Fila (ou Assinatura) também será necessária.

Isso faz parte de uma solução em que cada função da Web tem um canal de resposta dedicado que monitora. A qualquer momento, essa função da web pode ter dezenas de solicitações pendentes por meio de outros canais de mensagens (Filas / Tópicos) e está aguardando as respostas em vários segmentos. Precisamos que a resposta retorne ao encadeamento que colocou a mensagem, para que a função da Web possa responder ao chamador. Não é bom nessa situação simplesmente ter uma assinatura baseada na máquina, pois ela estará recebendo mensagens para outros threads. Precisamos de cada encadeamento de publicação para estabelecer um canal de resposta dedicado, para que a única coisa nesse canal seja a resposta para esse encadeamento.

Mesmo se usarmos Assinaturas (com algum tipo de filtro relacionado à instância) para fazer uma operação de recebimento de pesquisa longa na Assinatura, se a instância da função da Web morrer, essa Assinatura ficará órfã, correto?

Essa pergunta pode ser resumida assim: Se não houver mais editores ou assinantes para uma Fila / Tópico / Assinatura, esse serviço será efetivamente órfão. Como esses órfãos podem ser detectados e limpos?

questionAnswers(5)

yourAnswerToTheQuestion