Existe algum limite superior para o plugin de Polling RSS?

Estamos construindo um site que depende muito de RSS Polling (uma comunidade de podcasts, cada um com sua própria categoria e sua própria publicação RSS de novas postagens à medida que publicam novos episódios em suas plataformas). Eu estava me perguntando qual é o risco de morrermos de sucesso, ou seja, de trazer mais feeds do que o RSS Polling pode lidar.

Especificamente:

  • Você testou este plugin com um número muito grande de feeds?
  • Se houver muitos feeds, faz diferença em termos de estresse consultar a cada 10 minutos ou, digamos, a cada hora?
  • Todos os feeds estão sendo consultados ao mesmo tempo, são consultados em sequência ou algo mais? Estou perguntando porque uma consulta simultânea seria, em teoria, mais sensível a uma grande quantidade de feeds do que se os feeds estivessem sendo consultados um após o outro.

Um erro recorrente e até agora inofensivo talvez relacionado a ter vários feeds me motivou a fazer essas perguntas agora, em vez de quando for tarde demais. :slight_smile:

Como esperado, essa pergunta está se tornando mais relevante à medida que adicionamos mais feeds ao nosso site.

No momento, quando adicionamos um novo feed, é quase garantido que a primeira importação não ocorrerá nos 10 minutos esperados (de acordo com a frequência de polling definida nas configurações).

Além disso, a ordenação dos feeds na página de administração onde todos os feeds são definidos… pode mudar. Com menos feeds, era sempre uma lista estática ordenada pela mesma ordem em que os feeds foram adicionados. Não sei o que causa a mudança de ordem, nem qual princípio os feeds seguem nas ordenações mais recentes.

Eu só me pergunto se estes são apenas sintomas de um problema maior que fará nosso site falhar ou tornará o polling/postagem de feeds não confiáveis.

Acho que esta é a pergunta mais relevante. Se alguém puder me indicar a parte do código que instrui o polling, talvez eu possa me ajudar.

Apenas uma atualização, aprendemos que esse problema não estava relacionado à quantidade de feeds. E agora está resolvido. Muito bom!

Também interessado nas perguntas relacionadas ao desempenho aqui

O Sidekiq oferece algumas respostas.

Hoje notei que as páginas demoraram um pouco demais para carregar. Nos últimos dias, já notei alguma lentidão aqui e ali, por exemplo, no tempo que os links do Discourse levavam para renderizar como títulos de página.

Verifiquei o Sidekiq e havia +100 jobs Enqueued + 5 Busy. Quase todos eles eram RSS Polling feeds. Mudei a periodicidade de polling de 10 minutos para 1 hora e deletei os jobs.

Então verifiquei o servidor, e é isso que aconteceu antes e depois da mudança:

Minha suposição (baseada apenas nisso, ainda não verifiquei o código) é que o RSS Polling enviará os feeds para a fila, quantos você tiver. A fila garantirá que haja um número razoável de jobs simultâneos. Mas… suponho que o risco seja que a fila de feeds se torne tão longa que, quando o novo RSS Poll for engajado, o último ainda esteja em execução, e é aí que as coisas ficam feias até que haja uma reinicialização, mas a fila crescerá novamente, e assim por diante.

Por favor, corrija-me se esta análise estiver errada. :slight_smile:

ATUALIZAÇÃO: RSS Polling em ação, +60 feeds (em uma comunidade ainda nova, sem atividade massiva e ainda menos durante as horas de sono).

Relacionado? Talvez: RSS feeds disappearing misteriously

Oi, você conseguiu saber se há um número máximo de feeds que você pode usar? Obrigado.

Oi, peço desculpas por essa resposta tão, tão tardia. Eu tinha perdido a pergunta. Caso ainda seja interessante para alguém…

Do jeito que eu vejo, não há um limite rígido, mas o limite depende de quão potente é o seu servidor, de quanto tempo os feeds RSS levam (em termos de número de episódios, e talvez do peso das imagens?) e de com que frequência você faz a verificação (polling).

O polling de RSS ainda deixa o Sidekiq no limite; alguns feeds podem levar mais de 20 minutos para serem processados. Se você tiver 5 tarefas simultâneas travadas por essas verificações longas de RSS, a fila de tarefas começa a crescer. O verdadeiro limite é quando o Sidekiq não tem tempo suficiente para processar todas as tarefas em todas as filas entre as verificações de RSS. Quando isso acontece, a próxima verificação de RSS provavelmente vai sobrecarregar ainda mais as filas e, eventualmente, algo vai travar ou reiniciar. O usuário pode não perceber nada. Alguns feeds RSS podem não ser atualizados por causa disso.