Como saber se o message bus ainda está ativo

Estou trabalhando neste plugin que faz rebuilds no Discourse. Está quase lá. O que está me incomodando agora é que tenho uma página de status que mostra atualizações conforme as coisas acontecem durante a atualização. Mas isso leva muito tempo e (acho que) eventualmente o message bus expira porque não há atividade na página. Se o usuário navegar para fora e voltar para a página, funciona normalmente.

Existe uma maneira de corrigir isso? Talvez colocar algo na página que recarregue a cada 5 minutos ou algo assim?

O MessageBus se recupera de conexões quebradas, etc. Talvez o nome do seu canal mude ao recarregar?

Então, o MessageBus deve continuar atualizando uma página para sempre, mesmo se o navegador estiver inativo? O que REQUEST_QUEUE_SECONDS faz? (Ah, é apenas se o servidor estiver sobrecarregado?)

Mas… parece que meu problema pode ter sido causado por algo sendo enviado ao MessageBus que não deveria. Com Rails, Ember e Ansible todos envolvidos, é difícil saber a quem culpar. :man_shrugging:

Quanto mais o message bus falha, mais ele reduz a frequência:

Talvez você tenha passado por uma situação em que ele falhou por um longo período e, em seguida, o backoff ficou excessivamente grande para você.

Hmm. Não. Acredito que eu simplesmente não entendi de forma alguma qual era o meu problema. Desde o início, eu tinha certeza de que ele apenas parou de ouvir em algum momento, mas eu estava errado. Muito obrigado. Agradeço de verdade.